`
xiaoer_1982
  • 浏览: 1904871 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java6学习笔记6——利用Swing开发颜色选择的实时改变和对话框设置

阅读更多

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JColorChooser;
import javax.swing.colorchooser.ColorSelectionModel;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import java.awt.Dimension;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;

public class ColorComponent extends JFrame implements ChangeListener {
//实现了ChangeListener接口,这个监听轻量通知的监听器询问从变化事件获得的事件源,以了解与变化有关的更多信息。

JLabel label;
JColorChooser chooser;
public static void main(String arg[]) {
new ColorComponent();
}
public ColorComponent() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
} );
setLocation(250,150);
Container pane = getContentPane();
pane.setLayout(new BorderLayout());

label = new JLabel("Color Dialog",JLabel.CENTER);
label.setFont(new Font("Serif",Font.BOLD,32));//设置字体
label.setPreferredSize(new Dimension(125,75));//设置适当大小
add(label,BorderLayout.NORTH);

chooser = new JColorChooser(label.getForeground());//一个允许用户操作和选择颜色的窗口
ColorSelectionModel model = chooser.getSelectionModel();//返回处理颜色选择的数据模型
model.addChangeListener(this);//添加监听对象
add(chooser,BorderLayout.SOUTH);//JFrame中的方法,将其添加进窗口

pack();//调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者仍不可显示,则两者在计算首选大小之前变得可显示。在计算首选大小之后,将会验证该 Window

setVisible(true);//显示窗口
}
public void stateChanged(ChangeEvent e) {//ChangeListener接口的方法
Color color = chooser.getColor();//获取所选颜色
label.setForeground(color);//设置前景色
}
}

对话框设置:

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import java.io.File;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Color;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class ColorDialog extends JFrame implements ActionListener {
JButton b1;
JButton b2;
JButton b3;
public static void main(String arg[]) {
new ColorDialog();
}
public ColorDialog() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
} );
setLocation(250,150);
Container pane = getContentPane();
pane.setLayout(new FlowLayout());为容器设置布局管理器,流布局在一个 left-to-right 流中安排组件,很象在段落中的文本行。 流布局特别常用于在面板中安排按钮。 它会从左到右的安排按钮直到在同一行中不可以再放置更多的按钮时为止。 每行都是中心对齐的。
b1 = new JButton("Buttons");
b1.addActionListener(this);
pane.add(b1);
b2 = new JButton("Letters");
b2.addActionListener(this);
pane.add(b2);
pack();

setVisible(true);
}
public void actionPerformed(ActionEvent e) {
int retval;
String selection = e.getActionCommand();
if(selection.equals("Buttons")) {
Color color = JColorChooser.showDialog(this,
"Select background color of buttons",
b1.getBackground());
b1.setBackground(color);
b2.setBackground(color);
} else if(selection.equals("Letters")) {
Color color = JColorChooser.showDialog(this,
"Select color of button text",
b1.getForeground());
b1.setForeground(color);
b2.setForeground(color);
repaint();
}
}
}

分享到:
评论

相关推荐

    JAVA学习笔记————————

    通过阅读和学习这些JAVA学习笔记,开发者不仅可以掌握JAVA编程的基本技能,还能深入了解其设计理念,从而更好地应对各种实际开发问题。不断更新和完善自己的JAVA知识体系,对于成为一名优秀的JAVA开发者至关重要。

    Java JDK 6学习笔记——ppt简体版

    总的来说,Java JDK 6学习笔记对于初学者而言是一份非常实用的学习资源,它将理论知识与实践应用相结合,帮助读者快速上手Java编程,并为后续深入学习和开发打下坚实基础。通过详细阅读和反复实践,初学者可以逐步...

    狂神Java学习笔记————前端入门——html、css、JavaScript学习代码

    【狂神Java学习笔记——前端入门——HTML、CSS、JavaScript学习代码】是针对初学者的一份详实的学习资料,这份笔记记录了跟随B站知名up主“遇见狂神说”的java系列视频中关于前端开发的基础内容。笔记内容不仅与视频...

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    Java JDK 6学习笔记——ppt简体版.rar

    这份"Java JDK 6学习笔记——ppt简体版"提供了关于这个关键版本的详细教程,适合初学者和有一定经验的开发者来深入理解Java编程。 首先,我们要了解Java JDK是什么。Java Development Kit,简称JDK,是Oracle公司...

    Java JDK 6学习笔记——ppt

    Java JDK 6学习笔记——PPT简体版是针对初学者和有经验的开发者们的一份宝贵资源,它深入浅出地介绍了Java编程语言的核心概念和技术。这份资料以PPT的形式呈现,使得学习过程更加直观易懂,同时包含了课程中的源代码...

    良葛格————JavaJDK5.0学习笔记PDF

    良葛格————JavaJDK5.0学良葛格————JavaJDK5.0学习笔记PDF.rar习笔记PDF.rar良葛格良葛格————JavaJDK5.0学习笔记PDF.rar————JavaJDK5.0学习笔记PDF.rar良葛格————JavaJDK5.0学习笔记PDF.rar良...

    Java JDK 6学习笔记——ppt简体版附课本代码

    这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...

    Android学习笔记(十)——实现新闻列表

    【第一部分】历史文章: ...Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 Android学习笔记(六)——自定义ListView布局+AsyncTask异步任务 Android学习笔记(七)——数据存储(共享参数Share

    Android学习笔记(九)——更复杂的进度对话框

    在“Android学习笔记(九)——更复杂的进度对话框”中,我们将重点关注如何自定义和使用ProgressDialog。以下是一些关键点: 1. **创建进度对话框**: - 使用`ProgressDialog.show()`方法初始化一个进度对话框。...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Java基础 学习笔记 Markdownr版

    Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性,灵活性和安全性。本学习笔记主要涵盖了Java的...同时,笔记采用Markdown格式,方便转换为PDF、Word等其他格式,适应不同的阅读和学习需求。

Global site tag (gtag.js) - Google Analytics