AWT (Abstract Window Toolkit)
application에 해당
기본 component
- Button, Label, Choice(select), CheckBox, List, RadioButton, ScrollBar etc..
- TextArea, TextField, TextComponent etc...
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JOptionPane;
public class WindowTest extends Frame implements WindowListener, ActionListener {
Label label;
Button button1, button2;
TextField textField = new TextField();
int count = 0;
public WindowTest() {
setLayout(null);
label = new Label("button event");
label.setBounds(10, 60, 620, 30);
label.setBackground(Color.PINK);
add(label);
button1 = new Button("button one");
button1.setBounds(50, 120, 100, 50);
button1.addActionListener(this);
add(button1);
button2 = new Button("button two");
button2.setBounds(200, 120, 100, 50);
button2.addActionListener(this);
add(button2);
textField.setBounds(50, 240, 100, 50);
add(textField);
setSize(640, 480);
setLocation(0, 0);
setVisible(true);
addWindowListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(count);
count++;
Button btn = (Button) e.getSource();
String btnName = btn.getLabel();
if (btnName.equals("button one")) {
// JOptionPane.showMessageDialog(null, "button1 click!");
textField.setText("button1 click!");
} else if (btnName.equals("button two")) {
// JOptionPane.showMessageDialog(null, "button2 click!");
textField.setText("button2 click!");
}
}
}
button click에 대한 event Listener 추가
Practice
Label label;
Button button;
Checkbox checkbox1, checkbox2, checkbox3;
JRadioButton radioButton1, radioButton2, radioButton3;
Choice choice = new Choice();
JPanel sizePanel;
CheckboxGroup checkboxGroup;
public WindowTest() {
setLayout(null);
button = new Button("메뉴보기");
button.setBounds(500, 70, 80, 50);
add(button);
choice.add("카라멜 마끼아또");
choice.add("아메리카노");
choice.add("카페라떼");
choice.setBounds(150, 140, 300, 50);
add(choice);
label = new Label("크기");
label.setBounds(100, 200, 100, 30);
add(label);
checkboxGroup = new CheckboxGroup();
Checkbox cb1 = new Checkbox("Short", checkboxGroup, true);
cb1.setBounds(100, 250, 100, 30);
add(cb1);
Checkbox cb2 = new Checkbox("Tall", checkboxGroup, false);
cb2.setBounds(100, 280, 100, 30);
add(cb2);
Checkbox cb3 = new Checkbox("Grande", checkboxGroup, false);
cb3.setBounds(100, 310, 100, 30);
add(cb3);
label = new Label("시럽");
label.setBounds(250, 200, 100, 30);
add(label);
checkboxGroup = new CheckboxGroup();
cb1 = new Checkbox("바닐라", checkboxGroup, false);
cb1.setBounds(250, 250, 100, 30);
add(cb1);
cb2 = new Checkbox("카라멜", checkboxGroup, false);
cb2.setBounds(250, 280, 100, 30);
add(cb2);
cb3 = new Checkbox("헤이즐넛", checkboxGroup, false);
cb3.setBounds(250, 310, 100, 30);
add(cb3);
label = new Label("기타");
label.setBounds(400, 200, 100, 30);
add(label);
checkbox1 = new Checkbox("샷 추가");
checkbox1.setBounds(400, 250, 100, 30);
add(checkbox1);
checkbox2 = new Checkbox("휘핑 크림");
checkbox2.setBounds(400, 280, 100, 30);
add(checkbox2);
button = new Button("주문하기");
button.setBounds(400, 370, 100, 50);
add(button);
setSize(640, 480);
setLocation(0, 0);
setBackground(Color.LIGHT_GRAY);
setVisible(true);
addWindowListener(this);
}
- MainClass의 WindowTest 생성자
'JAVA' 카테고리의 다른 글
JAVA Network Practice (0) | 2022.06.13 |
---|---|
JAVA Network- TCP/IP (0) | 2022.06.13 |
JAVA 기초 - Design Pattern (0) | 2022.06.10 |
JAVA 기초 - 상속, final, static, Abstract, Interface, Collection (0) | 2022.06.09 |
JAVA 기초 - Exception, Calendar, Class (0) | 2022.06.08 |