Java设计登录界面

首先要介绍一下图形化组件的含义,顾名思义,我们可以首先把它理解为能够让我们看到的各个组件,在计算机屏幕上显然就要以图形的形式彰显出来,这就是图形化组件。比如今天我们要用java来实现一个登陆界面,就要设计一些组件,包括窗体、账号及账号框、密码及密码框、背景图片、登录和注册按钮。接下来我们详细逐步地来说明一下操作过程。

在java中代码都是以类的形式存在,所以首先定义login(登录)类,代码public class login{},然后我们只需要是显示出登陆界面,所以类中先不定义属性,只设置方法,然后在主函数中创建对象再调用方法即可,设置方法的代码为public void showUI(){…}

要实现登陆界面,我们首先要有一个显示各个组件的窗体,在java中有Jframe类,我们可以通过创建JFrame类的新对象jf来获得一个窗体,即代码JFrame jf =new JFrame(),这里值得一提的是需要提前导入模块javax.swing,否则直接调用JFrame类会报错,导入模块的代码为import java.swing.* ,然后我们要设置窗体的大小,这里可以直接调用类JFrame中的方法setSize来设置窗体的宽度和高度(这里值得一提的是这个setSize方法并不是在JFrame中被定义的,而是JFrame从父类中继承过来的),根据电脑分辨率为1920×1080,窗体宽度取450,高度取550,整形数据450和550称为方法的参数,代码为jf.setSize(450,550),窗口的标题用类JFrame中的setTitle方法来设计,参数为字符串常量“登陆界面”,代码为jf.setTitle(“登陆界面”),然后我们就要设置这个登陆界面窗口相对于电脑屏幕居中显示,这里我们要用到setLocationRelativeTo方法,说明一下在java中,我们通过setLocationRelativeTo(Component c)来设置窗体相对于组件的位置,如果组件当前未显示或者c为null,则此窗口将置于屏幕的中央,所以代码为jf.setLocationRelativeTo(null)。然后我们要设置窗体的默认关闭方式,用到setDefaultCloseOperation方法来设置窗体的默认关闭方式,这里讲一下这个方法,当参数为0,那么在我们点击关闭按钮的时候窗体不会被关闭;当参数为1,那么我们再点击关闭按钮的时候,不会释放内存,只是隐藏该界面,没有真正的关闭,还占用资源;当参数为2,那么在我们点击关闭按钮的时候,只有该窗口会关闭;当参数为3,那么在我们点击关闭按钮的时候,直接关闭应用程序,软件的所有窗口都会关闭。这里我们的目的是点击叉号直接关闭应用程序,所以参数选3,代码为jf.setDefaultCloseOperation(3)

接着我们要设置一下窗体组件的布局风格,这里我们用到方法setLayout(),在java中,setLayout()是java中图形界面编程的常用方法,用来设置用户界面上的屏幕组件的格式布局,默认为流式布局,函数声明格式:public void setLayout(LayoutManager manager),可以看到方法的参数数据类型为LayoutManager接口,常见的参数类型有五种,FlowLayout(创建一个新的流布局管理器)、BorderLayout(用指定的组件之间的水平间距构造一个边界布局)、GridLayout(创建具有指定行数和列数的网格布局)、CardLayout(创建一个具有指定的水平和垂直间隙的新卡片布局)、GridBagLayout(网格包布局管理器)这五个子类都继承于LayoutManager接口。我们这里使用流式布局即可,所以创建FlowLayout的新对象(需要提前导入java.awt模块),然后用jf调用setLayout()方法并且参数就用这个新对象即可,代码为FlowLayout flow = new FlowLayout();jf.setLayout(flow)

然后我们要加载背景图片,这里要介绍一下在java语法中的容器的概念,容器就好像一个存放对象的仓库,可以将你的东西存放在一个无限制的仓库中,然后要用的时候可以按规律取出来,在java中容器最常规意思的就是能保存java的对象的类,其实就是一种用来存储数据的数据结构。我们可以把想要添加的对象放到一个容器中,然后在需要的地方(对象)调用方法添加即可,比如常见的add方法。然后我们来介绍一下在java语法中一个加载图片的固定用法,如下图

其中的ImageIcon位于javax.swing包中,可以根据Image绘制Icon,加载图像,并在图像已经加载后才返回,要给控件加图片的话,可以很轻松地使用JLabel label = new JLabel(new ImageIcon("a.png"))来搞定。JLabel组件表示的是一个标签,本身是用于显示信息的(文本、图像或者二者同时显示),创建完的Label对象可以通过Container类中的add()方法加入到容器中。(创建ImageIcon新对象来加载图像,然后传给Jlabel显示,再把Jlabel的新对象加入到容器中即可)还有一个解释,Jlabel等是一些基础组件,它必须置于某个容器里面,类似于窗花、剪纸必须置于窗户的表面,JPanel是一个容器类,相当于大玻璃窗,JFrame是一个顶层的框架类,好比一个窗户的框子,也是一个容器类,这个框子可以嵌入好几个玻璃窗,JFrame自带一个玻璃窗,可以通过语句c =getContentPane()获得该内容窗格,也可以定制一个新的玻璃面板替换原来的自带的玻璃窗,代码如下:Jpanel jp =new Jpanel(),this.setContentPane(jp)。值得一提的是,顶层容器设置尺寸时调用方法setSize,非顶层容器设置尺寸时则调用方法setPreferredSize。

ImageIcon image = new ImageIcon("C:\\Users\\ZhangMaosong\\Pictures\\1.jpg"),Jlabel jla =new Jlabel(image),jf.add(jla),这就给窗体成功添加了背景图片。

然后我们给窗体添加账号框,首先添加“账号:”,同样使用Jlabel的新对象来显示文本,然后把对象加入到容器jf中即可。代码为Jlabel user = new Jlabel(“账号:”),jf.add(user)。接着设置帐号框,这里是一个文本框,我们通过new JTextField()方法创建了默认文本框,代码为JTextField jtf = new JTextField(),然后Dimension是Java的一个类,封装了一个构件的高度和宽度,Dimension类的高度和宽度值是一个整数,表明有多少个像素点,我们创建Dimension类的一个新对象来保存文本框的高度和宽度,然后把它放到容器jtf中(用setPreferredSize方法),代码为Dimension dm = new Dimension(380,25),jtf.setPreferredSize(dm),最后加入到顶层容器jf中即可,代码为jf.add(jtf)。密码框的添加方式和帐号框同理,代码为JLabel user1 = new JLabel("密码:"),jf.add(user1),JTextField jtf1 = new JTextField(),Dimension dm1 = new Dimension(380,25) ,jtf1.setPreferredSize(dm1);jf.add(jtf1)。

然后添加登录和注册按钮,首先添加登录按钮,通过Jbutton类的构造函数JButton(String icon)来建立一个有文字的按钮,代码为JButton jbu = new Jbutton(“登录”),然后加入到容器jf中即可,代码为jf.add(jbu);注册按钮同理,代码为JButton jbu1 = new Jbutton(“注册”),jf.add(jbu1)。

最后设置窗体可见,代码为jf.setVisible(true)。然后在主函数中创建login类的新对象lo,并调用方法showUI即可。效果图如下

  • 3
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值