APP下载

对Java图形用户界面美化的几种方法

2015-11-17欧阳桂秀

电脑知识与技术 2015年24期
关键词:背景色美化字体

摘要:Java语言中通过设置组件的字体、背景色、前景色和在标签中添加图片等方法,可以美化Java的图形用户界面。

关键词:Java;GUI;字体;背景色;前景色;图片;美化

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)24-0054-02

Java的图形用户界面(Graphical User Interface,GUI ) 是指采用图形方式显示的计算机操作界面,是用户与程序交互的窗口,使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地操作计算机。这其中界面是用户最直接能看到的窗口,因此界面的美化就是一个很重要的环节。

1 设置组件的字体

设置组件的字体的方法是setFont( )方法,格式如下:

组件对象名.setFont(Font f);

Font类在java.awt中,Font类表示字体,用来以可见方式呈现文本。Font类的构造方法如下:

Font(String name, int style, int size):根据指定字体名称name、字体样式style和字体大小size,创建一个新Font。

其中,参数name表示字体名称,如“黑体”、“Times New Roman”等。参数style表示字体样式,此样式可以为Font.PLAIN(普通)、Font.BOLD(粗体)、Font.ITALIC(斜体)或Font.BOLD+Font.ITALIC。参数size表示字体大小,单位是磅,如12,16等整数。

例如,设置组件按钮b的标题的字体为宋体、加粗、20磅,可以使用下面的语句:

JButton b=new JButton("退出");

b.setFont(new Font("宋体",Font.BOLD,20));

也可以先定义Font类的有名字的对象,然后再设置字体,例如:

JButton b=new JButton("退出");

Font f=new Font("宋体",Font.BOLD,20);

b.setFont(f);

2 设置前景色、背景色的setForeground、setBackground方法

设置前景色、背景色的方法如下:

1)public void setForeground(Color c):设置组件的前景色。

2)public void setBackground(Color c):设置组件的背景色。

如果直接调用上述方法,则颜色与当前容器或所有图形有关。如果通过组件对象调用上述方法,则颜色只是与该组件有关。

3 添加图片

添加图片的方法有多种,可以在窗体中使用图像作为整个背景图片,也可以用图片来对窗体做局部的装饰。如果只想用图片来对窗体做局部的装饰, 那么可以在需要放置图片的位置先放置一个JLabel的对象, 然后设置它的图标为创建好的ImageIcon 对象即可。

4 设置JFrame的初始位置、大小等

setSize(int width, int height):调整组件的大小,使其宽度为 width,高度为 height。单位是像素。

setLocation(x,y):设置窗口显示的起始坐标(x,y)。

setResizable(false):参数为false时,禁止用户调整窗口大小。

5 使用上述方法美化GUI的实例

[例1]学生成绩管理系统的主界面。在这个界面中,设置了组件的字体、背景色、前景色,在标签中添加了图片。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Window2 extends JFrame implements ActionListener

{ Window3 window3; //添加成绩

Window4 window4; // 按学号查询

Window5 window5; // 按姓名查询

Window6 window6; //修改成绩

JMenuBar mb;

JMenu menu1,menu2;

JMenuItem menuitem1,menuitem2,menuitem3,menuitem4;

JLabel label1,label2;

public Window2( )

{

setTitle("学生成绩管理系统");

setSize(800,600);

setLocation(260,130); //设置窗口显示的起始坐标

setResizable(false); //禁止用户调整窗口大小

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setVisible(true);

JPanel panel =(JPanel)getContentPane( );

panel.setLayout( new FlowLayout( ));

panel.setBackground(Color.pink); //设置容器的背景色

label1=new JLabel("欢迎进入学生成绩管理系统");

Font font1=new Font("楷体_GB2312",Font.ITALIC+Font.BOLD,32);

label1.setFont(font1);

label1.setForeground(Color.blue);

mb=new JMenuBar();

menu1=new JMenu("成绩管理");

Font f2=new Font("仿宋_GB2312",Font.BOLD,18);

menu1.setFont(f2);

menuitem1=new JMenuItem("增加成绩");

menuitem2=new JMenuItem("修改成绩");

menu2=new JMenu("查询");

Font f3=new Font("仿宋_GB2312",Font.BOLD,18);

menu2.setFont(f3);

menuitem3=new JMenuItem("按学号查询");

menuitem4=new JMenuItem("按姓名查询");

ImageIcon a=new ImageIcon("F:/temp/c.jpg"); //初始化一个图片

label2=new JLabel(a); //在标签label2添加图片

window3=new Window3();

window3.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

window4=new Window4();

window4.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

window5=new Window5();

window5.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

window6=new Window6();

window6.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

menu1.add(menuitem1); //在菜单上加菜单项

menu1.add(menuitem2);

menu2.add(menuitem3);

menu2.add(menuitem4);

mb.add(menu1); //在菜单条上添加菜单

mb.add(menu2);

setJMenuBar(mb);

panel.add(label1);

panel.add(label2);

menuitem1.addActionListener(this);

menuitem2.addActionListener(this);

menuitem3.addActionListener(this);

menuitem4.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if (e.getActionCommand()=="添加成绩")

{

window3.setVisible(true);

}

if (e.getActionCommand()=="修改成绩")

{

window6.setVisible(true);

}

if (e.getActionCommand()=="按学号查询")

{

window4.setVisible(true);

}

if (e.getActionCommand()=="按姓名查询")

{

window5.setVisible(true);

}

}

}

程序的运行结果如图1所示。

由于篇幅所限,Window3(添加成绩)、Window4 (按学号查询)、Window5 (按姓名查询)、Window6(修改成绩)等与数据库连接并操作数据库中数据的类不一一列出了。

4 结束语

通过设置组件的字体、背景色、前景色和在标签中添加图片等方法,我们在编写Java程序时,就可以比较轻松地美化Java的图形用户界面了。

参考文献:

[1] 王茹香. 在Java中使用图片实现GUI的美化[J]. 电脑编程技巧与维护, 2012(11): 81-83, 88.

[2] 刘莹. Java中JFrame添加图片的两种方法[J]. 电脑编程技巧与维护, 2014(20): 31-32.

[3] 欧阳桂秀. Java 语言程序设计[M]. 北京: 高等教育出版社, 2008.

猜你喜欢

背景色美化字体
SLOW MANIFOLD AND PARAMETER ESTIMATION FOR A NONLOCAL FAST-SLOW DYNAMICAL SYSTEM WITH BROWNIAN MOTION∗
提香:背景色也能“说话”
字体的产生
不同背景色对IPS E.max双层瓷结构颜色的影响
背景色对不同配色方案树脂比色结果的影响
组合字体
通信天线美化的必要性与可行性分析
“姹紫嫣红”的回光返照——“美化服装”运动(1955~1957)初探
字体安装步步通