Java界面开发

一、界面开发

1.界面的组成

界面开发首先需要我们去了解一个界面,以登陆界面为例,上面需要我们添加什么元素、规则等都是需要我们思考的(可以以分类的思维来对我们界面上需要的各类进行划分)。

1)可视化部分

窗体 按钮 标签 菜单 选项....

2)元素规则部分

颜色 尺寸 字体 布局方法...

3)一些额外的内容:文字or图片

以上内容都在 java的类库中

java.awt :元素规则类

javax.swing :可视化组件


对于一个登陆界面,首先要有承载这个界面的载体即窗体JFrame,而窗体的各种属性也需要设置:大小、名称、(流式)布局、可视化、关闭方式等等。

其中对布局方式和关闭方式进行简要介绍:

1)绝对布局(Absolute Layout)

这种布局方式是将组件的位置和大小以像素为单位进行显式指定。它的优点是较为灵活,但不具备自适应能力,不同屏幕尺寸和分辨率下表现不一致。

2)边界布局(Border Layout)

这种布局方式将容器分为五个区域:北、南、东、西和中央。每个区域只能包含一个组件,并且根据需要自动调整大小。

3)流式布局(Flow Layout)

这种布局方式是按照添加的顺序,按行排列组件。如果空间不足,它会自动将组件放在下一行。

4)网格布局(Grid Layout)

这种布局方式将容器划分为规则的网格,并将组件放置在网格中。可以指定每个网格的大小以及组件的位置。

5)卡片布局(Card Layout)

这种布局方式允许在同一容器中叠加多个组件,并通过显示或隐藏不同的组件来实现不同的布局效果。

在setDefaultCloseOperation()方法中,参数的取值可以是以下几个常量:

- JFrame.DO_NOTHING_ON_CLOSE:窗体关闭时不进行任何操作。(0)

- JFrame.HIDE_ON_CLOSE:窗体关闭时隐藏窗体。(1)

- JFrame.DISPOSE_ON_CLOSE:窗体关闭时调用`dispose()`方法释放资源。(2)

- JFrame.EXIT_ON_CLOSE:窗体关闭时终止程序。(3)

设置完窗体的各项属性后,就需要加上一些可视化组件以便我们的后续操作了,比如按钮JButton、文本框JTextField(用于输入登陆账号)、密码框JPassword等等。

注意这些可视化组件最后都要以jf.add(可视化组件变量名)的形式加载到窗体上。


2.界面开发所需的基本语法

首先回顾类与对象的一些基本知识点,类与对象的核心语法是运用关键字new来创建对象:

类名 对象名 = new 类名();

Student stu1 = new Student();

stu1.name="五条悟";

定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型。有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。

同一个类可以创建多个对象,而属性和方法都需要对象名去调用。

所以我们可以使用创建新的类与对象来为界面增加可视化组件。

JButton jbt1 = new JButton("登录");
jf.add(jb1);

3.界面开发的步骤

以上就是一个界面的一些基本信息,然后就我们就只需要在创建窗体之前先新建一个类class:LoginUI(用户登录界面 Log in user interface)和方法void:showUI(实体展示给用户看),接着创建程序入口和LoginUI对象OneUI,并运用对象OneUI调用showUI方法。

public class LoginUI{
    public void ShowUI{
    //具体代码
    }
    public statics void main (String[] args){//程序入口
    LoginUI oneUI = new LoginUI();
    oneUI.showUI();
    }   
}

然后添加窗体和窗体的各项属性内容

import javax.swing.*;
import java.awt.*;

//注意要把窗体的一些功能与属性加载到窗体上
public class LoginUI {
    public void oneUI(){
        JFrame JF = new JFrame();//创建窗体
//窗体的一些属性与功能
        FlowLayout flowLayout = new FlowLayout(); //创建流式布局
        JF.setLayout(flowLayout);//将流式布局和窗口绑定到一起
        JF.setTitle("登录界面");
        JF.setBackground(Color.BLACK);
        JF.setSize(400,500);
        JF.setLocation(30,70);
        JF.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
//基本
        JLabel JL1 = new JLabel("账号:");//JLabel:标签类,全透明的组件,只会显示上面的内容
        JTextField JTF = new JTextField(32);//创建账号栏
        JF.add(JL1);//将账号标签加载到窗体上
        JF.add(JTF);//将账号栏加载到窗体上
        JLabel JL2 = new JLabel("密码:");
        JPasswordField JPF = new JPasswordField(32);/
        JF.add(JL2);
        JF.add(JPF);
//按钮类
        JButton JB0 = new JButton("登录");//创建按钮
        JF.add(JB0);//将按钮加载到窗体上
        JButton JB1 = new JButton("注册");
        JF.add(JB1);
//可视化
        JF.setVisible (true);// 可视化 显示到屏幕上
    }
        public static void main (String[] args){
        LoginUI oneUI = new LoginUI();
        oneUI.showUI();
        }
}


二、监听器

1.为什么界面开发需要监听器

在创建登录界面的过程中我们也同时创建了按钮,但是我们怎么通过一系列的操作去使java获取我们点击按钮的这个操作信息呢,java知道我们点击了才好去进一步地去进行更多的操作,这里就需要额外创建监听器了。

2.如何实现按钮监听器的应用

首先新建代码页,创建一个按钮监听器的接口

public class BtnAction implements ActionListener{ 

}
实现ActionListener 中的 actionPerformed方法,并可以添加一些代码
public class BtnAction implements ActionListener{ 
    public void actionPerformed(ActionEvent e){ 
    System.out.println("点击了按钮");
    }
}
最后在原代码页创建BtnAction对象 使用按钮的addActionListener添加这个对象
        BtnAction btnaction=new BtnAction();
        jbt0.addActionListener(btnaction);
        jbt1.addActionListener(btnaction);
总结为创建一个类实现 MouseListener 接口,并重写其中的方法,然后使用`addMouseListener`将监听器添加到按钮或其他组件上,以便在用户与组件进行交互时触发对应的鼠标事件方法。

 

你可能感兴趣的:(java,开发语言)