본문 바로가기

JAVA

JAVA GUI - AWT

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