S.S.G

JColorChooser (컬러 다이얼로그) 본문

코딩/JAVA

JColorChooser (컬러 다이얼로그)

자유로운개발 2016. 7. 6. 15:37
반응형

Color 메뉴아이템이 선택되면 컬러 다이얼로그를 출력하고 사용자가 선택한 색으로 "Hello"의 글자색이 변경되도록 프로그램 하기. (빨간색을 선택한 경우)

 

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

 

class Test extends JFrame {
 Container contentPane;
 JLabel label = new JLabel("Hello");

 

 Test() {
      setTitle("색상 예제");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

contentPane = getContentPane();
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setFont(new Font("Ravie", Font.ITALIC, 30));
contentPane.add(label, BorderLayout.CENTER);

      

createMenu();

 

setSize(250, 200);
setVisible(true);

 }

 void createMenu() {
      JMenuBar mb = new JMenuBar();
      JMenuItem colorMenuItem = new JMenuItem("Color");
      JMenu fileMenu = new JMenu("Text");

 

//Color 메뉴 아이템에 Action 리스너 등록하기

colorMenuItem.addActionListener(new MenuActionListener());

 

fileMenu.add(colorMenuItem);
mb.add(fileMenu);
this.setJMenuBar(mb);

 }

 //Color 메뉴아이템이 선택될 때 실행되는 Action 리스너

 class MenuActionListener implements ActionListener {
      JColorChooser chooser = new JColorChooser(); //컬러 다이얼로그 생성

 

public void actionPerformed(ActionEvent e) {
       String cmd = e.getActionCommand();

 

 if (cmd.equals("Color")) { // Color 메뉴 아이템의 경우

    Color selectedColor = chooser.showDialog(null, "Color", Color.YELLOW); // 컬러 다이얼로그를 출력하고 사용자가 선택한 색을 알아옴.

    if (selectedColor != null)
     label.setForeground(selectedColor); // 취소 버튼을 누르거나 다이얼로그를 그냥 닫는 경우
 }

}

 }

 

 public static void main(String[] args) {

  new Test();

 }
}

 

실행 결과

 

 

반응형