swingtest15.java

来自「学习java编程的好程序」· Java 代码 · 共 125 行

JAVA
125
字号
import java.awt.*;
import javax.swing.*;
///主运行类
/// frame1指主框架
/// setDefaultCloseOperation指让框架右上角的按钮都有效
/// show让框架能显示出来
public class Swingtest15
{
    public static void main(String[] args)
    {
        gridbaglayoutframe frame1=new gridbaglayoutframe();
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame1.show();
    }
}
///创建一个顶层框架类
///WIDTH参数是指框架的宽度
///HEIGHT参数是指框架的长度
class gridbaglayoutframe extends JFrame
{
    private static final int WIDTH=300;
private static final int HEIGHT=200;
///顶层框架的构造器
/// setTitle用来设置框架左上角的标题
/// setSize用来设置框架的大小
///设置一个容器类的对象con
///通过容器类对象进行添加控件,这里的控件是以类的对象形式出现的。
    public gridbaglayoutframe()
    {
        setTitle("学生管理系统");
        setSize(WIDTH,HEIGHT);
        Container con=getContentPane();
        con.add(new studentJPanel(),BorderLayout.CENTER);
        con.add(new buttonpanel(),BorderLayout.SOUTH);
    }
}
///创建一个学生标签和文本域及文本区所在的容器类
class studentJPanel extends JPanel
{
///此容器类的构造器
///namelabel标签是指显示为“姓名”的标签
///codelabel标签是指显示为“学号”的标签
///sexlabel标签是指显示为“性别”的标签
///addresslabel标签是指显示为“籍贯”的标签
///commentlabel标签是指显示为“j简单介绍”的标签
///nametextfield文本域是指显示姓名的文本域
//codetextfield文本域是指显示学号的文本域
///sextextfield文本域是指显示性别的文本域
//addressCombo文本域是指显示地点的组合列表框
//commenttextfield文本域是指显示简单介绍的文本区
///Constraints表示创建一个网格组布局管理器对象
///add方法是添加组件的函数,在后面有这个函数的具体内容
/// constraints.fill和constraints.anchor指定了控件的摆放方式。
/// constraints.weightx和constraints.weighty分别是指控件在容器中总共需要占据多少行与列
    public studentJPanel()
    {
        GridBagLayout layout=new GridBagLayout();
        setLayout(layout);
        JLabel namelabel=new JLabel("姓名:");
        JTextField nameTextField=new JTextField(10);
        JLabel codelabel=new JLabel("学号:");
        JTextField codeTextField=new JTextField(10);
        JLabel sexlabel=new JLabel("性别:");
        JTextField sexTextField=new JTextField(10); 
        JLabel  addresslabel=new JLabel("籍贯:");
        JComboBox addressCombo=new JComboBox(new String[] {"江西","四川","山西","湖北","湖南","海南"});  
        JLabel commentLabel=new JLabel("简单介绍");
        JTextArea sample=new JTextArea();
        sample.setLineWrap(true);   
        GridBagConstraints  constraints=new GridBagConstraints();
        constraints.fill=GridBagConstraints.NONE;
        constraints.anchor=GridBagConstraints.EAST;
        constraints.weightx=5;
        constraints.weighty=5; 
        add(namelabel,constraints,0,0,1,1);
        add(codelabel,constraints,0,1,1,1);
        add(sexlabel,constraints,0,2,1,1);
        add(addresslabel,constraints,0,3,1,1);  
        constraints.fill=GridBagConstraints.HORIZONTAL;
        constraints.weightx=100;  
        add(nameTextField,constraints,1,0,1,1);
        add(codeTextField,constraints,1,1,1,1);
        add(sexTextField,constraints,1,2,1,1);
        add(addressCombo,constraints,1,3,1,1); 
        constraints.fill=GridBagConstraints.NONE;
        constraints.anchor=GridBagConstraints.CENTER;
        add(sample,constraints,2,0,1,1);   
        constraints.fill=GridBagConstraints.BOTH;
        add(sample,constraints,2,1,1,1);    
}
///用来添加组件到容器中的函数
/// constraints.gridx指该控件位于哪一列
/// constraints.gridy指该控件位于哪一行
/// constraints.gridwidth指该控件占据多少列
/// constraints.gridheight指该控件占据多少行
    public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)
    {
        constraints.gridx=x;
        constraints.gridy=y;
        constraints.gridwidth=w;
        constraints.gridheight=h;
        add(c,constraints);
    }
}
///一个放置按钮控件的容器类
/// okbutton是指确定按钮
/// cancelbutton是指定取消按钮
///hBox指箱式控制器中的空白条之类的东西
class buttonpanel extends JPanel
{
    public buttonpanel()
    {
        setLayout(new BoxLayout(this,BoxLayout.X_AXIS));
        JButton okbutton=new JButton("确定");
        JButton cancelbutton=new JButton("取消"); 
        Box hBox=Box.createHorizontalBox();
        hBox.add(Box.createHorizontalStrut(40));
        hBox.add(okbutton);
        hBox.add(Box.createHorizontalGlue());
        hBox.add(cancelbutton);
        hBox.add(Box.createHorizontalStrut(40));    
        add(hBox);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?