자바 웹 개발자가 될거야/JAVA

[JavaGUI] GUI 기본 틀 / 폰트 색상 바꾸기

whitz 2021. 12. 15. 10:26

< GUI 기본 틀 >

 

- Window Builder 없이 소스코드를 수작업으로 쳐보겠다

 

 

 

[JavaGUI] Window Builder 설치 / 실행

< Window Builder > - GUI를 클릭을 통해서 구현 - Window Builder 구현하려면 클래스가 JFrame을 상속받아야한다 - JFrame 구조 ① Window Builder 설치 https://download.eclipse.org/windowbuilder/ Project d..

heezit.tistory.com

 

- 위 포스트에 Window Builder 설치 방법과 이 포스트에서 보여줄 코드들이 자동으로 들어가는 것을 볼 수 있다

- 예제 2번을 구현해보겠다

 

 

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class GuiEx2 extends JFrame {
	
	// 1. 생성자 만들기
	GuiEx2() {
		// 프레임 제목
		setTitle("홍길동 GUI");
		// 제이프레임 닫으면 메인메서드도 끝남
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JTextArea ta1 = new JTextArea(20,50);
		JScrollPane sp1 = new JScrollPane(ta1);
		
		// content영역의 타입은 container
		Container cp = getContentPane();
		// textarea에 scroll 달기
		cp.add(sp1,BorderLayout.CENTER);
		
		// textfield에 scroll 달기
		JTextField tf1 = new JTextField(20);
		tf1.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// 폰트 색깔 바꾸기
				ta1.setForeground(Color.BLUE);
				// ta1.setForeground(new Color(0,0,0)); rgb 조합으로도 표현가능
				// textfield 텍스트 들고옴 + 줄띄우기
				ta1.append(tf1.getText()+"\n");
				// 엔터치면 field 비워줌
				tf1.setText("");				
			}
		});
		cp.add(tf1,BorderLayout.SOUTH);
		JLabel lb1 = new JLabel("멋진 화면이네요");
		
		// 프레임 크기
		setSize(300,300);
		// 프레임 보여주기
		setVisible(true);
	}

	public static void main(String[] args) {
		new GuiEx2();
		
	}

}