Java : Swing 버튼과 이미지 띄우기

Java Programming|2018. 11. 19. 11:59
반응형

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); //화면에 보이기

}

}

 

결과

 

 

반응형