编写一个界面,就像一个简单的QQ界面那样(只是写出界面的模样,暂时先不管组件的功能)。
首先我们需要创建一个窗体,注意界面上所需的所有组件及其大小颜色等属性是Java中已经编写好的,我们只需要实例化这些类即可,与普通的类的实例化不同的是,我们需要在类名前加上类的路径 javax.swing.JFrame jf = new javax.swing.JFrame();另:组件都在javax.swing包中,组件的大小、颜色等属性则在java.awt的包里
package com.prf.login180327;
public class login180327 {
public static void main(String []args){
login180327 login=new login180327();
login.showUI();
}
public void showUI(){
//创建窗体对象
javax.swing.JFrame jf = new javax.swing.JFrame();//在窗体类的前面加报的名称即路径
jf.setSize(550, 450);//窗体大小
jf.setDefaultCloseOperation(3);//关闭窗体时关闭进程
jf.setLocationRelativeTo(null);//使窗体居中,若无此语句,则默认窗体原点在左上角
jf.setTitle("QQ登录界面1.0");//在窗体上方显示窗体标题
//流式布局管理器(管理界面上的组件,流式特点:居中第一排,溢出的在下一排居中,一个界面只能设置一种布局,不能将单独一个组件设置成另一种布局)
java.awt.FlowLayout flow=new java.awt.FlowLayout();//组件的大小、颜色等的类都是在Java.awt包里
jf.setLayout(flow);//组件的大小、颜色等不能用add添加,用set
//图像
javax.swing.ImageIcon icon=new javax.swing.ImageIcon("D:\\360Downloads\\壁纸\\timg.jpg");
//标签
javax.swing.JLabel jla1=new javax.swing.JLabel(icon);
jla1.setPreferredSize(new java.awt.Dimension(550, 200));//此处尺寸只能用一次
jf.add(jla1);
//文本框
javax.swing.JTextField text1=new javax.swing.JTextField();
javax.swing.JTextField text2=new javax.swing.JTextField();
java.awt.Dimension dm1=new java.awt.Dimension(400, 30);//设置尺寸,除了JFrame其它的组件都是用此方法设置大小
java.awt.Dimension dm2=new java.awt.Dimension(50, 30);
text1.setPreferredSize(dm1);//把设置好的尺寸加到text上,此处尺寸可多次调用
jf.add(text1);
javax.swing.JLabel jla2=new javax.swing.JLabel();
jla2.setPreferredSize(dm2);;
jf.add(jla2);
text2.setPreferredSize(dm1);
jf.add(text2);
javax.swing.JLabel jla3=new javax.swing.JLabel();
jla3.setPreferredSize(dm2);;
jf.add(jla3);
//复选框
javax.swing.JCheckBox jcb1=new javax.swing.JCheckBox("记住密码");
jf.add(jcb1);
javax.swing.JCheckBox jcb2=new javax.swing.JCheckBox("自动登录");
jf.add(jcb2);
javax.swing.JCheckBox jcb3=new javax.swing.JCheckBox("找回密码");
jf.add(jcb3);
//按钮
javax.swing.JButton jbu=new javax.swing.JButton("登录");//组成一个界面的组件的类都是在javax.swing包里
jbu.setPreferredSize(new java.awt.Dimension(300,30));
jf.add(jbu);//把按钮加到窗体上去
jf.setVisible(true);//使整个窗体可见,在此语句之前写完所有功能
}
}