본문 바로가기
Java/Java 인강

Java 인강 필기 15

by code2772 2022. 10. 2.

[ 목차 ]

    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