S.S.G
JColorChooser (컬러 다이얼로그) 본문
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();
}
}
실행 결과
'코딩 > JAVA' 카테고리의 다른 글
Action 이벤트를 이용한 콤보박스 (0) | 2016.07.05 |
---|---|
JRadioButton & Item (0) | 2016.07.05 |
MouseListener 사용 해보기 (0) | 2016.07.04 |
이벤트 리스너 작성해보기(내부클래스, 독립된 클래스, 익명 클래스) (0) | 2016.07.04 |
Collections 클래스 활용 (0) | 2016.07.04 |