咋们来想一下,一个QQ登入界面他有哪些东西构成呢,这些构成的东西叫做组件。现在来回答这个问题,这些组件包括 :账号/密码文本框,窗体,登入/新用户注册/取消/找回密码按钮,图片等。
首先来定义一个类
public class Loginrun{
//设置一个主函数,让这个界面运行起来
public static void main(String[] args){
//这两行就是创建对象 ,调用窗体方法的代码
Loginrun lo = new Loginrun();
lo.showUI();
}
//创建窗体函数方法 大小 标题 居中 退出x的 窗体可见 四部曲,这样你就得到了一个可见的窗体。
public void showUI(){
//创建一个窗体对象 接下来就是设置窗体的大小 还有其他一系列的按钮啥的
javax.swing.Jframe jf = new Jframe ();
//这些数字代表的意思是像素点就是把屏幕分割成这么1980*1280个格子 500*550就是我这个窗体所占的大小 是一种密度的代表
//像素的原点在左上角 那个地方是0,0
jf.setSize(500,450);
//标题
jf.setTitle("登录界面");
//窗体会默认放在左上角 接下来就是要把窗体居中显示 默认式代码 记下来
jf.setLocationRelativeTo(null);
//退出程序 默认式代码 没有这个 即使你点了差× 但是程序还是在运行 所以要设置
jf.setDefaultCloseOperation(3);
//接下来就是考虑布局问题了,咋们采用的是流式布局器 因为系统里自带所以咋们只需要创建对象,设置布局加载到jf上 即可 但是前面要加路径。
java.awt.FlowLayout flow = new java.awt.FlowLayout();
//设置窗体为流式布局
jf.setLayout(flow);
//加载图片 图片也是通过标签加上去,标签就相当于一个容器,用来去装其他东西。
//注意加载图片格式,用\。
javax.swing.ImageIcon image = new javax.swing.ImageIcon("D:\java\图片素材库\1.jpg")
javax.swing.Label jla3 = new javax.swing.Label (image);
jf.add(jla3);
java.awt.Dimension dim3 = new java.awt.Dimension(500,150);
jla3.setPerferredSize(dim3);
//在文本框前加上账号 密码这几个字,一定要按顺序来。
Javax.swing.Label1 jla1 = new javax.swing.Label("账号");
jf.add(jla1);
//接下来设置文本框
javax.swing.JTextField jtf1 = new javax.swing.JTextField();
//Dimension
java.awt.Dimension dim1 = new java.awt.Dimension(370,30);
//除了Jframe的窗体大小直接用setSize的方式,其他的一律用dim这种方式。
jtf1.setPreferredSize(dim1);
jf.add(jtf1);
javax.swing.JLabel jla2 = new javax.swing,JLabel (“密码”);
jf.add(jla2);
javax.swing.JTextField jtf2 = new javax.swing.JTextField();
java.awt.Dimension dim2 = new java.awt.Dimension(370,30);
jtf1.setPreferredSize(dim2);
jf.add(jtf2);
//按钮
javax.swing.JButton jbu1 =new javax.swing.JButton("登录");
//在jf这个窗体中添加jbu这个按钮
jf.add(jbu1);//按钮太大了 用流式布局器自带按钮大小。
javax.swing.JButton jbu2 = new javax.swing.JButton("新用户注册");
jf.add(jbu2);
javax.swing.JButton jbu3 = new javax.swing.JButton("取消");
jf.add(jbu3);
//运行起来但是看不到窗体 是因为窗体不可见 所以现在我们要使这个窗体显示可见
//设置窗体可见 这一步非常重要
jf.setVisible(true);
}
}



