관리 메뉴

취미개발 블로그와 마음수양

자바 이미지 버튼 제대로 다루기~ 본문

Language/샘플-핵심코드

자바 이미지 버튼 제대로 다루기~

아라한사 2014. 4. 24. 22:35

자 일단 이미지를 버튼에 삽입하는 방법은 다음과 같다~




public class 버튼처리연습 extends JFrame{
	
	버튼처리연습(){
		setSize(200, 150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		
		JButton button = new JButton(new ImageIcon("img/btLogin.png"));
		add(button);
		setVisible(true);
	}
	
	public static void main(String[] args){
		new 버튼처리연습();
	}
}



음...자 일단 버튼안에서 이미지가 이상하게 들어가는 것을 볼 수 있다..이미지만 보였으면 하는데~..


그럴때는 이렇게 하면 된다~




package 이미지처리;

public class 버튼처리연습 extends JFrame implements ActionListener{
	JButton bt;
	버튼처리연습(){
		setSize(200, 150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		
		bt = new JButton(new ImageIcon("img/btLogin.png"));
		bt.setBackground(Color.red);
		
		bt.setBorderPainted(false);
		bt.setFocusPainted(false);
		bt.setContentAreaFilled(false);
		
		bt.addActionListener(this);
		add(bt);
		setVisible(true);
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getSource()==bt){
			JOptionPane.showInputDialog("눌렸네~");
		}
	}
	

	public static void main(String[] args){
		new 버튼처리연습();
	}
}



음..소스가 약간 바뀌었지만 ㅎㅎㅎ


이밖에도 해봤던 옵션들~

bt.setMargin(new Insets(0, 0, 0, 0));
        bt.setBackground(Color.black);
       bt.setBorder(BorderFactory.createEmptyBorder());
        bt.setBorderPainted( false );