界面开发需要的包
界面开发工具需借助其他工具包,主要有如下两种:
1.java.awt:组件样式老旧,推荐使用颜色、尺寸、字体、布局方式这些元素规则类
2.javax.swing:升级后的开发包
(1)容器:可以去装载其他组件,如窗体;
(2)组件:按钮、输入框、菜单、滑杆等;
(3)内容:文字、图片等
要使用这些包,需要引用,方法如下:
import javax.swing.*;
import java.awt.*;
创建界面
1.创建一个类(LoginUI)
2.在这个类中声明一个初始化界面方法
public static void main(String[] args) {
LoginUI loginUI=new LoginUI();
loginUI.showUI();
}
3.在方法中:
(1)创建一个窗体javax.swing.JFramed的对象;
javax.swing.JFrame jf=new javax.swing.JFrame();
(2)设置窗体对象的属性、标题、尺寸、位置、关闭方法、可视化等
jf.setTitle("登录入口");//窗体标题
jf.setSize(600,500);//窗体尺寸
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击窗体关闭设置:退出
java.awt.FlowLayout flow=new java.awt.FlowLayout();
jf.setLayout(flow);//窗体组件的排列方式:流式布局
(3)添加组件对象如按钮、输入框、图片、文字
javax.swing.JButton btn=new javax.swing.JButton();
javax.swing.JButton btn1=new javax.swing.JButton();//按钮
javax.swing.JLabel namejla=new javax.swing.JLabel();
javax.swing.JLabel pwdjla=new javax.swing.JLabel();//标签
javax.swing.JTextField namejtf=new javax.swing.JTextField();//文本输入框
javax.swing.JPasswordField pwdjtf=new javax.swing.JPasswordField();//密码输入框
javax.swing.JCheckBox checkBox=new javax.swing.JCheckBox();//复选框
javax.swing.ImageIcon imgicon=new javax.swing.ImageIcon("C:\\Users" +
"\\Administrator\\Desktop\\img.png");//图片
javax.swing.JLabel imgjla=new javax.swing.JLabel();
设置对象的属性
btn.setText("登录");
btn1.setText("注册");
namejla.setText("账号:");
pwdjla.setText("密码:");
imgjla.setIcon(imgicon);//把图片加载到图片的标签组件上
//组件设置尺寸
java.awt.Dimension jtfsize=new java.awt.Dimension();//先创建一个尺寸对象
jtfsize.setSize(510,50);//设置尺寸对象的宽、高
//将尺寸对象设置给输入框
namejtf.setPreferredSize(jtfsize);
pwdjtf.setPreferredSize(jtfsize);
java.awt.Color color=new java.awt.Color(255,0,0);//设置颜色,使用java.awt.Color
btn.setBackground(color);//将颜色对象设给按钮
checkBox.setText("自动登录");
将组件对象加载到窗体上,并使窗体可视化
jf.add(imgjla);
jf.add(namejla);jf.add(namejtf);
jf.add(pwdjla);jf.add(pwdjtf);
jf.add(checkBox);jf.add(btn);
jf.add(btn1);
jf.setVisible(true);
给按钮注册监听器
//给按钮注册监听器
ButtonListener btnlistener=new ButtonListener();
btn.addActionListener(btnlistener);
btn1.addActionListener(btnlistener);
//用监听器对象调用null的输入框对象名,用界面这里的输入框对象名给它赋值
btnlistener.namejtf=namejtf;
btnlistener.pwdjtf=pwdjtf;
使用监听器的目的在于当一个事件源触发一个事件时,会有一个或多个监听器进行监听,并会由监听器执行与之对应的事件。事件对象携带了动作发生时的相关信息,比如通过事件对象获取按钮的字符串,通过字符串判断后执行不同的代码。
使用监听器的步骤:
(1)自己创建一个类;
(2)使用这个类创建一个对象,用按钮对象的添加监听器方法添加这个对象。
//自己创建一个类来实现这个监听器
public class ButtonListener implements ActionListener {
//定义一个输入框属性对象名
JTextField namejtf=null;
JTextField pwdjtf=null;
int count=0;
//重写监听器中方法 改分号为大括号 然后在大括号中加上点击按钮之后想要执行的代码
public void actionPerformed(ActionEvent e){
count++;
//获取按钮上的字符串
String btnstr=e.getActionCommand();
System.out.print("按钮被点击了"+count+"次");//打印时不换行
System.out.println(" 点击的是:"+btnstr);
//判断字符串 .equal()
if(btnstr.equals("登录")){
String nametext=namejtf.getText();
String pwdtext= pwdjtf.getText();
//验证账号密码是否正确
if(nametext.equals("admin")&&(pwdtext.equals("123456"))) {
System.out.print("账号:"+nametext);
System.out.println(" 密码:"+pwdtext);
JFrame jf = new JFrame("登录成功!!");
jf.setVisible(true);
jf.setSize(600, 500);
}else{
System.out.println("登录失败,请输入正确的账号和密码");
}
} else if(btnstr.equals("注册")) {
System.out.println("执行注册操作,跳转至注册页面");
JFrame jf=new JFrame("注册界面");
jf.setSize(600,500);
jf.setVisible(true);
}
}
}