본문 바로가기

BackEnd/Java

[java]이것이 자바다 부록 Java UI 12-3 (Swing을 이용한 색상 다이얼로그)

728x90
반응형

(4) 색상 다이얼로그

   ▷ 색상을 사용자가 선택할 수 있음, 색상 다이얼로그는 JColorChooser를 제공

      ▶ showDialog() 메소드를 이용해서 색상 다이얼로그 띄움

 

◎ 색상 다이얼로그에서 선택한 색상을 버튼의 배경색으로 설정하는 예제

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class JColorChooserExample extends JFrame {
	private JButton btnColor;
	
	// 메인 윈도우 설정
	public JColorChooserExample() {
		this.setTitle("JColorChooserExample");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.getContentPane().setLayout(new GridLayout(1,1));
		this.getContentPane().add(getBtnColor());
		this.setSize(150, 60);
	}
	
	// 버튼 생성
	public JButton getBtnColor() {
		if(btnColor == null) {
			btnColor = new JButton();
			btnColor.setText("JColorChooser");
			btnColor.addActionListener(new ActionListener() {	
				public void actionPerformed(ActionEvent e) {
					// 색상 다이얼로그 보여주기
					Color color = JColorChooser.showDialog(
						JColorChooserExample.this, "색상 선택", Color.BLUE);
					
					// 버튼의 배경색을 변경
					btnColor.setBackground(color);
				}
			});
		}
		return btnColor;
	}
	
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				JColorChooserExample jFrame = new JColorChooserExample();
				jFrame.setVisible(true);
			}
		});
	}
}

 



색상 다이얼로그를 이용해서 배경색이 바뀌는 것을 확인할 수 있습니다.

 

다이얼로그에서 JColorChooser로 컬러 팔렛트를 생성해 원하는 색상으로 배경색을 바꿀 수 있습니다.

 

예제는 배경색만 바꿨지만 글자 색도 바꿀 수 있는지 확인해봐야겠어요~

 

더 많은 기능들에 대해서 배워볼게요~!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형