程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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