蓝杰培训——图形化界面(界面的交互功能)
- 目录
- 初始化图形化界面
- 接口概念
- 设计交互功能
目录
初始化图形化界面
这部分是图形化界面的代码
package cz0819;
import javax.swing.JFrame;
public class login {
/**
* 图形化界面:1.javax.swing (可视化组件类) 2.java.awt (元素组件类)
*/
public static void main(String []args) {
login l=new login();
l.init();
}
public void init() {
//窗体对象
JFrame JF=new JFrame("登录界面");//窗体
JF.setSize(640, 750);//设置界面大小
JF.setDefaultCloseOperation(3);//设置正常退出界面,界面能打开,也就能退出
JF.setLocationRelativeTo(null);//居中显示
java.awt.FlowLayout JK=new java.awt.FlowLayout();//流式界面
JF.setLayout(JK);
javax.swing.ImageIcon imag=new javax.swing.ImageIcon("E:\\java学习\\JAME.jpg");
javax.swing.JLabel JL=new javax.swing.JLabel(imag);
JF.add(JL);//设置组建,将图片放入组件,加入窗体中。
javax.swing.JLabel user=new javax.swing.JLabel("用户:");
JF.add(user);
//文本框,就是输入账号密码的地方
javax.swing.JTextField JT=new javax.swing.JTextField();
java.awt.Dimension JD=new java.awt.Dimension(580,30);
//(除了JFrame)其它所有组件设置大小都是该方法
JT.setPreferredSize(JD);
JF.add(JT);
javax.swing.JLabel p=new javax.swing.JLabel("密码:");
JF.add(p);
javax.swing.JTextField JP=new javax.swing.JTextField();
java.awt.Dimension JP1=new java.awt.Dimension(580,30);
JP.setPreferredSize(JP1);
JF.add(JP);
javax.swing.JButton ju1=new javax.swing.JButton("登录");
JF.add(ju1);
javax.swing.JCheckBox JB=new javax.swing.JCheckBox("记住密码");
JF.add(JB);
//事件监听器(设置程序的交互功能)
//1.事件源:当前动作所发生的组件
//2.确定监听器方法:动作监听器方法
//3.绑定事件处理类
JF.setVisible(true);
ButtonListen B=new ButtonListen();
ju1.addActionListener(B);
B.setJt(JT,JP);
//这里使用到了接口的概念,读者结合下文可以明白
}
}
下图就是代码运行后的显示效果
接口概念
下图就是Ecilpse中对于Actionlisten的定义,里面包含一个函数,供我们重写。
设计交互功能
这部分是图形化界面的代码
package cz0819;
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
//事件处理类
public class ButtonListen implements ActionListener {
//定义JTextField变量jt,保存传递过来的文本框对象
private JTextField jt;
private JTextField QQ;
//定义set方法,初始化jt
public void setJt(JTextField jtf,JTextField qq){
jt = jtf;
QQ=qq;
}
/*这里涉及到了java中的一个概念--接口 接口可以认为是一个特殊的类,java自带,我们使用这个特殊的类,就可以实现相关的功能,接口一个很重要的特性就是,我们需要继承他,并且重写他的函数。
ActionListener是java的Eclipse中的一个接口,我们自己定义一个ButtonListen,继承这个接口,并且重写它的函数,也就是下面的actionPerformed函数。
*/
//事件处理方法
public void actionPerformed(ActionEvent e) {
//JTextField jtf = new JTextField();
//获取文本框的内容
String userName = jt.getText();
String password= QQ.getText();
if("cz".equals(userName)&&"123".equals(password)){
System.out.println("yes");
JFrame J=new JFrame("登录成功");
J.setSize(500, 590);
J.setLocationRelativeTo(null);
J.setDefaultCloseOperation(3);
java.awt.FlowLayout F=new java.awt.FlowLayout();
J.setLayout(F);
javax.swing.ImageIcon imag=new javax.swing.ImageIcon("E:\\java学习\\SAO.jpg");
javax.swing.JLabel CL=new javax.swing.JLabel(imag);
J.add(CL);
javax.swing.JPanel panel = new javax.swing.JPanel();
javax.swing.JLabel nn=new javax.swing.JLabel("密码正确");
panel.add(nn);
panel.setLocation(1500, 400);
J.add(panel);
javax.swing.JLabel ni=new javax.swing.JLabel("欢迎来到篮球世界");
J.add(ni);
J.setVisible(true);
//显示登录成功
}else{
System.out.println("NO");
JFrame J=new JFrame("账户或密码错误");
J.setSize(650, 750);
J.setLocationRelativeTo(null);
J.setDefaultCloseOperation(3);
java.awt.FlowLayout F=new java.awt.FlowLayout();
J.setLayout(F);
/*这里涉及到了java中的一个概念--接口 接口可以认为是一个特殊的类,java自带,我们使用这个特殊的类,就可以实现相关的功能,接口一个很重要的特性就是,我们需要继承他,并且重写他的函数。*/
javax.swing.ImageIcon imag=new javax.swing.ImageIcon("E:\\java学习\\SAO.jpg");
javax.swing.JLabel CL=new javax.swing.JLabel(imag);
J.add(CL);
J.setVisible(true);
//显示登录成功
}
}
}
下图就是代码运行后的显示效果