Java : Swing 버튼과 이미지 띄우기
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Swing GUI"); //1.최상위 컨테이너 생성
frame.setSize(500, 600); //사이즈
JButton b1 = new JButton("btn1"); //2.컴포넌트들 추가하기
JButton b2 = new JButton("button2");
//기본적으로 JFrame은 BorderLayout이란 배치관리자로 돼 있음
//가장 쉬운 레이아웃 매니저인 FlowLayout으로 변경
frame.setLayout(new FlowLayout());
frame.add(b1); //컨테이너에 컴포넌트 추가
frame.add(b2);
//JLabel - 글씨 보여주는 컴포넌트
JLabel label = new JLabel("This is Label");
//label.setSize(100, 150); //FlowLayout안에선 사이즈지정 안됨
frame.add(label);
//JTextField - 사용자로부터 글씨 입력받는 컴포넌트
JTextField tf = new JTextField(20);
frame.add(tf);
//이미지 - 이미지용 컴포넌트는 없음
//JLabel에 이미지(아이콘)를 보여줄 수 있는 능력을 활용
ImageIcon icon = new ImageIcon("images/ms21.png"); //이미지 아이콘 객체 생성
//이미지를 실제로 갖고 있는 Image객체 뽑아오기
Image im = icon.getImage(); //뽑아온 이미지 객체 사이즈를 새롭게 만들기!
Image im2 = im.getScaledInstance(250, 250, Image.SCALE_DEFAULT);
//새로 조절된 사이즈의 이미지(im2)를 가지는 ImageIcon 객체를 다시 생성
ImageIcon icon2 = new ImageIcon(im2);
JLabel img = new JLabel(icon2);
/*JLabel img = new JLabel();
img.setIcon(icon2);*/
frame.add(img);
//Swing은 frame창은 X버튼 누르면 자동으로 사라지지만 프로그램은 종료되지 않음.
//X버튼 누르면 프로그램도 종료되도록 설정
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(300, 200); //위치 지정
frame.setVisible(true); //화면에 보이기
}
}
결과
'Java Programming' 카테고리의 다른 글
Java : GUI, 메뉴 만들기 (0) | 2018.11.21 |
---|---|
Java : GUI, 리스트뷰(List View), 클릭한 이미지만 보이게 하기 (1) | 2018.11.21 |
Java : GUI, 체크박스(Check Box), Radio 버튼, ComboBox 만들기 (0) | 2018.11.20 |
Java : AWT 창 띄우고 버튼 만들기 (0) | 2018.11.19 |
Java Networking : TCP로 서버와 클라이언트 간, 메시지 주고받기 (0) | 2018.11.16 |