图形化界面-0819

蓝杰培训——图形化界面(界面的交互功能)

  • 目录
    • 初始化图形化界面
    • 接口概念
    • 设计交互功能

目录

初始化图形化界面

这部分是图形化界面的代码

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);
		//这里使用到了接口的概念,读者结合下文可以明白
	}
	
}

下图就是代码运行后的显示效果
图形化界面-0819_第1张图片

接口概念

下图就是Ecilpse中对于Actionlisten的定义,里面包含一个函数,供我们重写。
图形化界面-0819_第2张图片

设计交互功能

这部分是图形化界面的代码

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);
			//显示登录成功
			
		}
		
		
		
	}
}



下图就是代码运行后的显示效果

图形化界面-0819_第3张图片

图形化界面-0819_第4张图片

你可能感兴趣的:(java,编程语言)