动手之前,大家一定要注意的是,界面的设计要先考虑好尺寸,不管是主程序界面的大小还是每个区域的大小,如果没有设计好合适的尺寸,将来改动起来会十分痛苦。
下面便是相应的源程序:importjava.awt.*;
importjavax.swing.*;
publicclassKyodaiUIextendsJFrame{
publicKyodaiUI(){
this.setSize(780,500);//将窗体的大小设定为780*500
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);//窗体不能改变大小
this.setTitle("连连看");//设置标题
JPaneltoolBar=newJPanel();
toolBar.setBackground(Color.white);
toolBar.setPreferredSize(newDimension(780,48));
JPanelactionPanel=newJPanel();//新建JPanel型的控件
actionPanel.setBackground(Color.yellow);//设置背景色
actionPanel.setPreferredSize(newDimension(160,380));//设置大小
JPanelcontentPanel=newJPanel();
contentPanel.setBackground(Color.blue);
contentPanel.setPreferredSize(newDimension(620,380));
this.getContentPane().add(toolBar,BorderLayout.NORTH);
this.getContentPane().add(actionPanel,BorderLayout.EAST);
this.getContentPane().add(contentPanel,BorderLayout.CENTER);
}
publicstaticvoidmain(String[]args)throwsHeadlessException{
KyodaiUIkyodaiUI=newKyodaiUI();
kyodaiUI.show();
}
}让我们来看看上面这段程序是如何运行的。首先,extendsJFrame表明了这是从JFrame中继承过来的,JFrame是最基本的顶层容器控件。实际上,在JDK中,以字母J打头的控件都是Swing控件。然后设置了容器的属性,其中,setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)是用来告诉Java虚拟机,当用户点击窗体右上角的“关闭”按钮时,关闭该窗口进程。如果不这么做的话,你会发现虽然你可以点将窗口关闭,然而程序却没有退出。在接下来的代码中,我们为顶层容器添加了三个Panel容器。要注意的是,在AWT中,我们可以直接写为add(toolBar,BorderLayout.NORTH),而在Swing中却一定要写成getContentPane().add(toolBar,BorderLayout.NORTH),否则程序就会出错。
现在大家可以放在编译运行看看,是不是和我的运行结果一样
4.边框
虽然我们使用了不同前景色来区别不同的区域,然而却没有层次感,加上边框一定会漂亮许多。
在Java中,所有以J打头的Swing控件都可以使用setBorder方法来为自己设置边框。边框有很多种,线型、凸起、凹下、空的,你甚至可以自由组合形成个人风格。所有的Border都必须使用javax.swing.BorderFactory中提供的静态方法来创建,比如:
Borderborder=BorderFactory.createBevelBorder(BevelBorder.LOWERED,
newColor(45,92,162),
newColor(43,66,97),
newColor(45,92,162),
newColor(84,123,200));现在,我们将toolBar.setBackground(Color.white)改为toolBar.setBorder(border),立体效果是不是已经出现了?