程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> [JAVA100例]024、顏色過濾器

[JAVA100例]024、顏色過濾器

編輯:關於JAVA

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.colorchooser.*;
/**
* <p>Title: 顏色選擇器</p>
* <p>Description: 演示一個顏色選擇器,可以從樣本中選擇,可以使用HSB模式和RGB模式</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: ColorChooserDemo.java</p>
* @version 1.0
*/

public class ColorChooserDemo extends JPanel
 implements ChangeListener {
protected JColorChooser tcc;
  protected JLabel banner;

public ColorChooserDemo() {
    super(new BorderLayout());

//設置一個標簽,做廣告的。也用來顯示用戶選擇的顏色。
    banner = new JLabel("歡迎使用顏色選擇器!",
              JLabel.CENTER);
    banner.setForeground(Color.yellow);
    banner.setBackground(Color.blue);
    banner.setOpaque(true);
    banner.setFont(new Font("SansSerif", Font.BOLD, 24));
    banner.setPreferredSize(new Dimension(100, 65));

JPanel bannerPanel = new JPanel(new BorderLayout());
    bannerPanel.add(banner, BorderLayout.CENTER);
    bannerPanel.setBorder(BorderFactory.createTitledBorder("廣告"));

//設置選擇顏色選擇器
    tcc = new JColorChooser(banner.getForeground());//設置初始顏色
    tcc.getSelectionModel().addChangeListener(this);//給所有模式添加監聽
    tcc.setBorder(BorderFactory.createTitledBorder("選擇顏色"));

add(bannerPanel, BorderLayout.CENTER);
    add(tcc, BorderLayout.PAGE_END);
  }
/**
*<br>方法說明:事件監聽。用戶選擇顏色觸發
*<br>輸入參數:ChangeEvent e 用戶選擇事件
*<br>返回類型:
*/
  public void stateChanged(ChangeEvent e) {
    Color newColor = tcc.getColor();//獲取用戶選擇的顏色
    banner.setForeground(newColor);
  }
/**
*<br>方法說明:主方法
*<br>輸入參數:
*<br>返回類型:
*/
  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);

//創建窗體
    JFrame frame = new JFrame("ColorChooserDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//創建面板容器
    JComponent newContentPane = new ColorChooserDemo();
    newContentPane.setOpaque(true);
    frame.setContentPane(newContentPane);

//顯示窗體
    frame.pack();
    frame.setVisible(true);
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved