GUI(그래픽 유저 인터페이스)
2023. 7. 25. 12:34ㆍJAVA
Java언어의 GUI 프로그래밍 - SWING API 사용
import java.awt.FlowLayout;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Java언어의 GUI 프로그래밍 - SWING API 사용
//1. 최상위 컨테이너용 컴포넌트를 생성
JFrame frame = new JFrame("Swing GUI");
//프레임의 사이즈를 설정
frame.setSize(500, 400);
// 기본적으로 JFrame에는 BorderLayout이라는 배치관리자가 설정되어 있음.
// 가장 쉬운 배치관리자 flowLayout으로 변경
frame.setLayout(new FlowLayout());
//2. 컴포넌트들 추가하기
JButton b1 = new JButton();
b1.setText("button1");
JButton b2 = new JButton("버튼2");
// 프레임에 추가하기
frame.add(b1);
frame.add(b2);
// JLabel - 글씨를 보여주는 컴포넌트
JLabel labeㅣ= new JLabel();
labeㅣ.setText("This is Label");
frame.add(labeㅣ);
// JTextField - 사용자로부터 글씨를 입력받는 컴포넌트
JTextField tf = new JTextField(20); //20글자 사이즈
frame.add(tf);
//이미지 보여주기 - 애석하게 이미지용 컴포넌트 없음
// JLabel에 아이콘(이미지)을 보여주는 추가 기능이 있음. - 이를 활용
JLabel imgLabel= new JLabel();
//아이콘 객체 만들기
ImageIcon icon= new ImageIcon("image/ms19.png");
imgLabel.setIcon(icon);
frame.add(imgLabel);
// 이미지 리사이징
// ImageIcon객체에서 실제 그림파일을 가지고 잇는 Image객체 얻어오기
Image img= icon.getImage();
// 뽑아온 Image객체의 사이즈를 새롭게 만들기
Image img2 = img.getScaledInstance(280, 280, Image.SCALE_SMOOTH);
// img2를 감싸는 ImageIcon객체를 만들기
ImageIcon icon2 = new ImageIcon(img2);
// Label에 새 아이콘 설정
imgLabel.setIcon(icon2);
//swing의 JFrame은 기본적을 x 버튼을 눌러도 프로그램은 종료되지 않음
//x버튼 클릭시에 프로그램도 같이 종료되도록 설정
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(300, 200); //프레임의 좌상단 좌표
frame.setVisible(true); // 프레임 화면에 보이기
}
}
JLabel - 글씨를 보여주는 컴포넌트
JTextField - 사용자로부터 글씨를 입력받는 컴포넌트
add를 사용해 컴포넌트를 추가해야함
'JAVA' 카테고리의 다른 글
| GUI 깔끔하게 만들어보기 (0) | 2023.07.25 |
|---|---|
| 네트워크 통신 - Client (0) | 2023.07.21 |
| 네트워크 통신 - Server (0) | 2023.07.21 |
| FileOutput(파일 출력) (0) | 2023.07.20 |
| FileInput(파일 입력) (0) | 2023.07.20 |