博客
关于我
Java版取色器(7)——界面简单装饰
阅读量:228 次
发布时间:2019-03-01

本文共 2773 字,大约阅读时间需要 9 分钟。

本章概要:界面简单装饰

查看运行效果图,会发现界面比较丑,字迹模糊,文本框小。

那么接下来本节将会对界面进行一些简单的装饰,设置些样式。

在colorpicker包下创建一个Styles类,专门来放置一些设置的样式。

设置按钮的样式

在Styles类中添加如下方法:

/**     * 设置按钮的样式     *     * @param buttons 按钮组     */    public void setButton(JButton... buttons) {        for (JButton button : buttons) {            // 设置按钮的字体            button.setFont(new Font("微软雅黑", Font.PLAIN, 20));            // 设置当鼠标放在按钮上的样式            button.setCursor(new Cursor(Cursor.HAND_CURSOR));            // 设置按钮的前景色            button.setForeground(Color.BLACK);            // 设置按钮的背景色            button.setBackground(new Color(221, 232, 243));            // 设置按钮获取焦点后不显示线框            button.setFocusPainted(false);        }    }

再在主界面类Main中添加一个setFrameAllConponentStyles()方法:

其中内容如下:

/**     * 设置界面一些组件的样式     */    private void setFrameAllConponentStyles(){        Styles styles=new Styles();        // 设置按钮的样式        styles.setButton(startColorPickerButton,hexToRgbButton,rgbToHexButton);    }

把上面的工作做完后还是没有把这些样式用起来,因为虽然写好了实现方法,但是该方法还没有被调用。

在Main类的mainFrame()方法中添加如下内容:

// 调用设置的样式        setFrameAllConponentStyles();

好了,样式已经成功调用,那么来看看效果怎么样:

看起来按钮的效果确实好了许多。

设置文本框样式

在Styles.java中添加如下方法:

/**     * 设置文本框的样式     *     * @param textFields 文本框组     */    public void setTextField(JTextField... textFields) {        for (JTextField textField : textFields) {            // 设置文本框显示字体            textField.setFont(new Font("微软雅黑", Font.PLAIN, 18));            // 设置文本框前景色            textField.setForeground(Color.BLUE);            // 设置文本框背景色            textField.setBackground(Color.WHITE);            // 设置文本框最小尺寸            textField.setMinimumSize(new Dimension(3, 5));            // 设置文本框选中文本时文本颜色            textField.setSelectedTextColor(Color.BLUE);        }    }

文本框样式的方法写好后,就是为所有的文本框使用该样式,在Main.java中的setFrameAllConponentStyles()方法中添加如下内容:

// 设置文本框的样式        styles.setTextField(RTextField, GTextField, BTextField, HEXTextField, rTextField, gTextField, bTextField, hexResultTextField, inputHexTextField, rResultTextField, gResultTextField, bResultTextField);

运行程序,看下成果:

设置标签样式

在Styles.java中添加setLabel()方法设置标签的样式,如下:

/**     * 设置标签的样式     *     * @param labels 标签组     */    public void setLabel(JLabel... labels) {        for (JLabel label : labels) {            label.setFont(new Font("微软雅黑", Font.PLAIN, 19));            label.setForeground(Color.BLACK);        }    }

接着在Main.java中的setFrameAllConponentStyles()方法中添加如下内容:

// 设置标签的样式        styles.setLabel(RLabel, GLabel, BLabel, HEXLabel, descriptionLabel);

运行程序,查看效果图:

尽管不是非常好看,但是比一开始建立的界面要好看一些。

本节的内容就到这里了,而本项目的代码部分也基本完成了,接下来就是打包成jar和exe了。

思考:在本项目中,可以发现就主界面一个界面就有非常多的组件,而在Styles类已经对组件样式统一写方法进行设置了,但是还是比较麻烦,如果项目中界面很多,那么光设置样式就是一件很麻烦的事情,会充斥着大量重复代码,如需修改或单独设置某一个组件的样式,又是很麻烦,那么如何解决呢?这个问题留在下一个项目吧!

 

可搜索微信公众号【Java实例程序】或者扫描下方二维码关注公众号获取更多。

注意:在公众号后台回复【20191003】可获取本节源码。

转载地址:http://evzx.baihongyu.com/

你可能感兴趣的文章
我要偷偷的学C语言,然后惊呆所有人(第八天)
查看>>
关于LeetCode刷题及题目列表归纳
查看>>
【大数据Spark系列】Spark Transformation和Action算子
查看>>
【大数据Flink系列】Flink 核心概念综述
查看>>
【大数据Kafka系列】深入理解Kafka副本机制
查看>>
【Django系列】Django模板所有知识点总结
查看>>
【Java系列】Spring常见知识点
查看>>
wxPython中TextCtrl的输入上限问题
查看>>
Python进程间共享内存(版本3.8+)
查看>>
行为树 --- [1] BehaviorTree.CPP的编译及使用
查看>>
安装和使用google-perftools工具
查看>>
使用Python+yolov3实现对帧数不等长视频进行批处理
查看>>
Java队列Queue
查看>>
专业mac数据恢复软件Tenorshare UltData Mac
查看>>
城市天际线 for Mac城市建造类游戏
查看>>
专业视频剪辑软件Final Cut Pro X Mac
查看>>
alienskineyecandy mac
查看>>
Java Maven基础
查看>>
Vasp INCAR参数详解
查看>>
Django 框架技术概况
查看>>