我们通常在用java.swing做桌面项目的时候不免需要对各种界面的设计,下面我介绍一个关于对JPanel加标题头的例子。
下面我来介绍一个面板加标题头与不加标题头的区别。原图如下:
这是JPanel在没有加标题头时上边‘会员基本信息’是采用一个面板上添加JLabel然后采用FlowLayout布局采取左对齐来显示,然而采用JPanel的标题头之后的效果如下:
此时的JPanel是不是显的更急美观。
代码如下:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
//会员基本信息
public class BasicInfoPanel extends JFrame {
public BasicInfoPanel() {
init();
}
JPanel panel1, panel2, panel3;
JTextField jtnumber, jtname, jtmoney, jtdata, jttime, jtcard;
public void init() {
this.setSize(550, 300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
panel2 = new JPanel();
panel2.setLayout(new GridLayout(3, 4, 0, 70));
//关键JPanel标头
Border titleBorder1 = BorderFactory.createTitledBorder("会员基本信息");
panel2.setBorder(titleBorder1);
jtname = new JTextField(15);
jtnumber = new JTextField(11);
jtcard = new JTextField(15);
jtmoney = new JTextField(15);
jtdata = new JTextField(15);
jttime = new JTextField(15);
panel2.add(new JLabel(" 会员姓名:"));
panel2.add(jtname);
panel2.add(new JLabel(" 卡类:"));
panel2.add(jtcard);
panel2.add(new JLabel(" 手机号:"));
panel2.add(jtnumber);
panel2.add(new JLabel(" 发卡日期:"));
panel2.add(jtdata);
panel2.add(new JLabel(" 账户余额:"));
panel2.add(jtmoney);
panel2.add(new JLabel(" 剩余消费次数:"));
panel2.add(jttime);
this.add("Center", panel2);
panel3 = new JPanel();
panel3.setLayout(new GridLayout(2, 0));
panel3.add(new JLabel(" "));
panel3.add(new JLabel(" "));
this.add("South", panel3);
this.setVisible(true);
}
public static void main(String[] args) {
new BasicInfoPanel();
}
}
希望大家多多指点~~