728x90
반응형
(22.8.9)
# 47강 Java GUI Programming1
- GUI(Graphical User Interface) - 컴퓨터를 사용하는 사용자를 위해 만들어진 특정한 기능을 가진 그래픽 요소
- JAVA GUI 프로그래밍- 사용자가 프로그램을 쉽게 다룰 수 있도록 그래픽을 제공하도록 프로그래밍 하는 것
- AWT - 자바에서 GUI를 프로그래밍 하기 위해 처음으로 제공한 라이브러리
<특징>
- java.awt 패키지에 Frame, Window,Panel,Button, Label 등이 존재
- 운영체제의 자원 활용
- swing - AWT를 대체하기 위해 자바로 작성된 GUI 객체
<특징>
- javax.swing 패키지에 JFrame, JWindow,JPanel,JButton, JLabel 등이 존재
- 운영체제에 의존적이지 않으며, 운영체제와 관계없이 동일한 모양을 사용
- 컴포넌트(Component)와 컨테이너(Container)
- 컴포넌트: JAVA에서 GUI를 구성하는 요소
- 컨테이너: 다른 컴포넌트를 포함할 수 있는 컴포넌트
GUI 프로그래밍 순서
1. extends JFrame
- JFrame 클래스를 상속받아, 나만의 프레임 클래스 작성
- 생성자에서 컴포넌트 및 프레임의 디자인 구현하기
2. 기본설정 - 생성자에서 하기
: title, size, visible 설정하기
- title 설정 : setTitle(”타이틀명”);
- size 설정: setSize(가로길이,세로길이);
- visible 설정: setVisible(true)
package day47;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JSlider;
import javax.swing.JTextField;
public class Day47_1 extends JFrame {
void AddFrame(){_
setTitle("JFrame");
setSize(300,300);
//컴포넌트 만들기
JButton bytton = new JButton("button");
JCheckBox b0x = new JCheckBox("checkbox");
JSlider = slider = new JSlider();
JTextField tf = new JTextField("text 입력",20);
this.setLayout(new FlowerLayout());
this.add(button);
this.add(box);
this.add(slide);
this.add(tf);
setVisible(true);
//내 프로그램 닫는 기능을 닫기버튼으로 설정
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public static void main(String[] args) {
new AddFrame();
}
}
}
package day47;
import java.awt.*;
import javax.swing.*;
public class LayoutEx {
public static void main(String[] args) {
new GridWindow();
}
}
class FlowWindow extends JFrame{
FlowWindow(){
setTitle("flow window");
setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton btn1= new JButton("btn1");
JButton btn2= new JButton("btn2");
JButton btn3= new JButton("btn3");
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.setLayout(new FlowLayout());
setVisible(true);
}
}
class BorderWindow extends JFrame{
BorderWindow(){
setTitle("border window");
setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton btn1= new JButton("btn1");
JButton btn2= new JButton("btn2");
JButton btn3= new JButton("btn3");
JButton btn4= new JButton("btn4");
JButton btn5= new JButton("btn5");
this.setLayout(new BorderLayout());
this.add(btn1,BorderLayout.EAST);
this.add(btn2,BorderLayout.WEST);
this.add(btn3,BorderLayout.SOUTH);
this.add(btn4,BorderLayout.NORTH);
this.add(btn5,BorderLayout.CENTER);
setVisible(true);
}
}
class GridWindow extends JFrame{
GridWindow(){
setTitle("grid window");
setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton btn1= new JButton("btn1");
JButton btn2= new JButton("btn2");
JButton btn3= new JButton("btn3");
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.setLayout(new GridLayout(2,2));
setVisible(true);
}
}
# 48강 Java GUI Programming2
- 이벤트(Event) - 프로그램을 실행하는 도중 사용자에 의해 발생하는 키보드 입력, 마우스 클릭 등의 동작
- 이벤트 처리 - 이벤트가 발생했을 때, 어떤 작업을 할 것인지 결정하는 것
- 이벤트 객체 - 이벤트 발생 시 이벤트에 대한 정보를 가진 객체
ex) 이벤트의 종류, 이벤트가 발생한 위치(ex. 마우스 좌표), 체크박스의 체크 상태
- 이벤트 리스너 - 이벤트 객체에 의해서 호출 되어 해당 이벤트를 처리하는 객체
//이벤트 리스너 사용 시 해당 인터페이스의 추상 메서드 구현해야함
반응형
'Java > Java 인강' 카테고리의 다른 글
Java 인강 필기 14 (0) | 2022.10.02 |
---|---|
Java 인강 필기 13 (1) | 2022.10.02 |
Java 인강 필기 12 (1) | 2022.10.02 |
Java 인강 필기 11 (0) | 2022.10.02 |
Java 인강 필기 10 (1) | 2022.10.02 |