foxpacking

Programming Lessons

Java 언어 Korean

Java 총정리[97. Java GUI]

Java GUI

Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법 그리고 동작 시키는 방법을 간단하게 공부를 할 수 있습니다. Java GUI는 현재 많이 사용이 되지는 않고 있지만 Java를 배웠다면 GUI까지 같이 공부를 해본다면 분명 도움이 되실 수 있습니다.

Java GUI 같은 경우에는 이전에 배운 모든 것을 적용을 해서 만들 수 있습니다. 간단히 생각을 해보면 이전 배운 것들에 화면이 생기는 것이라고 보면 됩니다. 그 화면을 통해 사용자의 입력이 들어오고 그 입력에 대한 처리를 해주면 됩니다.

Java GUI의 걸음에서는 Java GUI에 전반적인 구조 사진과 함께 설명을 하고 화면 구성이 되는 요소들은 너무 많기 때문에 많이 쓰는 것들을 예제를 통해서 다시 한번 설명을 드리도록 하겠습니다. 이번 걸음을 통해 Java GUI를 이해하시면 좋을 것 같습니다.

JavaGUI메인사진

Java GUI 화면 구성

위에 사진을 보면 GUI구조를 보면 구조를 이해를 하실 수 있을 것입니다. JFrame이 화면에 전체라고 이해를 하시면 되고 거기에 버튼이나 TextField나 TextArea등을 바로 JFrame에 추가를 해서 화면을 구성을 할 수 있고 하나의 작은 구조를 만들 수 있게 JPanel를 이용해서 화면 요소들을 붙이고 그 다음 다시 JFrame에 붙이는 형식으로 화면을 구성을 할 수 있습니다.

※ JFrame에서 Container의 객체를 받아서 화면에 요소들에 들어가게 됩니다.

Java GUI 화면 동작

Java GUI에서 동작을 하게 하려면 이벤트에 대한 처리를 해줘야 합니다. 이 처리를 하게 위해서 ActionListener가 있습니다. ActionListener를 상속을 받고 이벤트 발생을 하면 동작을 하는 명령어를 정의 하면 이벤트에 맞게 원하는 동작을 할 수 있습니다. 이때 요소 마다 addActionListener를 설정을 해줘야 ActionListener에 오버라이딩이 된 actionPerformed 메소드에 전달이 될 수 있습니다.

Java GUI 예제

    
package Day34;


import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

class Hi extends JFrame implements ActionListener{
	
	JLabel jl;
	
	Hi(){ //생성자에서 화면을 구성
		Container ct = getContentPane();
		ct.setLayout(new FlowLayout());
		JButton j1 = new JButton("10");
		JButton j2 = new JButton("20");
		jl = new JLabel("하이!!!!!");
		ct.add(j1);
		ct.add(j2);
		ct.add(jl);
		
		j1.addActionListener(this);
		j2.addActionListener(this);
		setTitle("Two");
		setSize(500,500);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent ae) {
		String input = ae.getActionCommand();
		String result = "힘내세요!!!!" + input;
		jl.setText(result);
		System.out.println(input);
	}
}
public class GUITest2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Hi();
	}
}

    
예제 결과 화면

Dolphin

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나