51Testing软件测试论坛

标题: JAVA GUI 开发---简单登录界面 [打印本页]

作者: 测试积点老人    时间: 2018-12-29 17:02
标题: JAVA GUI 开发---简单登录界面

看起复杂,其实不复杂,嘿嘿!
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class LoginJFrameTest {
private JFrame jframe;
private JLabel jlabel,jlabel1;
private GridBagLayout gridbag;
private GridBagConstraints constraints;
private JTextField jtfield1;
private JPasswordField jpfield1;
private JButton jbutton1,jbutton2,jbutton3;
  
public LoginJFrameTest(){
  jframe = new JFrame();
  jlabel = new JLabel();
  jlabel1 = new JLabel();
  jtfield1 = new JTextField();
  jpfield1 = new JPasswordField();
  gridbag = new GridBagLayout();
  jbutton1 = new JButton();
  jbutton2 = new JButton();
  jbutton3 = new JButton();
  
  init();
}

private void init(){
  jframe.setTitle("全屏幕测试");
  jlabel.setText("用户名:");
  jlabel1.setText("密    码:");
  jbutton1.setText("登    录");
  jbutton2.setText("退    出");
  jbutton3.setText("更改密码");
  jframe.setUndecorated(true);
  jframe.getGraphicsConfiguration().getDevice().setFullScreenWindow(jframe);
  jframe.setLayout(gridbag);
     
     //用户名文本框显示
     constraints = getGridBagConstraints(0,0,1,1,0,0,GridBagConstraints.CENTER,
        GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
     
     gridbag.setConstraints(jlabel, constraints);
  jframe.add(jlabel);
  
  //用户名输入框显示
     constraints = getGridBagConstraints(1,0,1,1,0,0,GridBagConstraints.CENTER,
        GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);
   
     gridbag.setConstraints(jtfield1, constraints);
     jframe.add(jtfield1);
     
     //密码文本框显示
     constraints = getGridBagConstraints(0,1,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
     gridbag.setConstraints(jlabel1, constraints);
     jframe.add(jlabel1);

     //密码输入框显示
  constraints = getGridBagConstraints(1,1,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);

  gridbag.setConstraints(jpfield1, constraints);
  jframe.add(jpfield1);
  
  //更改密码按钮显示
  constraints = getGridBagConstraints(0,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton3, constraints);
  jframe.add(jbutton3);
  
  //登录按钮显示
  constraints = getGridBagConstraints(1,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton1, constraints);
  jframe.add(jbutton1);

  //退出按钮显示
  constraints = getGridBagConstraints(2,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton2, constraints);
  jframe.add(jbutton2);
  
}

private static GridBagConstraints getGridBagConstraints(int gridx,int gridy,int gridwidth,
   int gridheight,double weightx,double weighty,int anchor,int fill,Insets insets,
   int ipadx,int ipady){

   return new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty,
     anchor, fill, insets, ipadx, ipady);
}

public void showMe(){
  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jframe.setVisible(true);
}

public static void main(String[] args) {
  new LoginJFrameTest().showMe();
}
}


参数说明:

       gridx=0;   //放在第0列
       gridy=0;   //放在第0行
       gridwidth=1;   //组件的长度
       gridheight=1;   //组件的高度
       weightx=10;   //组件根据窗口的大小而变化,系数为10,1
       weighty=1;   
       anchor=GridBagConstraints.CENTER;   //组件大于放置空间位置时,将组件放置在中心
       fill=GridBagConstraints.HORIZONTAL;   //显示区域变化时,设置组件是否变化。
       inset=new Insets(0,0,0,0);   //设置组件间上下左右间距
       ipadx=0;   //设置组件内的间距
       ipady=0;  






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2