Java/Java 인강

Java 인강 필기 15

code2772 2022. 10. 2. 11:06
728x90
반응형
(22.8.9)

# 47Java 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);

}

}

​

​

​

# 48Java 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