자바 웹 개발자가 될거야/JAVA
[JavaGUI] GUI 기본 틀 / 폰트 색상 바꾸기
whitz
2021. 12. 15. 10:26
< GUI 기본 틀 >
- Window Builder 없이 소스코드를 수작업으로 쳐보겠다
- 위 포스트에 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();
}
}