JAVA图形化界面

界面结构

Java的GUI界面主要由界面程序事件监听两部分组成。

界面程序

界面程序又分为可视化组件元素组件

  1. 可视化组件包括窗体标签图片输入框按钮等,窗体是其他组件的载体。
  2. 窗体的初始化:
JFrame jf=new JFrame();
jf.setSize(380,500);//设置大小
jf.setTitle("标题");//添加标题
jf.setLocationRelativeTo(null);//设置位置
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出进程
  1. 标签初始化
JLabel jlb=new JLabel("账号");
jf.add(jlb)
  1. 输入框初始化
JTextField jtf = new JTextField(); 
jf.add(jtf);
  1. 加载图片
mageIcon image = new ImageIcon("F:\\图片\\1.jpg");
JLabel jla = new JLabel(image);
jf.add(jla);

元素组件包括尺寸、布局管理器等
1.尺寸初始化

Dimension dm = new Dimension(300, 30);
jlb.setPreferredSize(dm2);//窗体以外的组件设置方法

2.布局管理器

FlowLayout flow = new FlowLayout();
jf.setLayout(flow);//设置窗体为流式布局

事件监听

1.监听程序

1.事件源:当前动作所发生的组件
2.确定监听器方法:动作监听器等
3.绑定事件处理类

2.代码实现

 		ButtonListener listener = new ButtonListener();        
        jbu.addActionListener(listener);
        listener.jt = jtf;

3.事件监听源码

public interface ActionListener extends EventListener {
   //Interface与类同级  可以作为引用数据类型(类  数组 接口)【引用数据类型:String    基本数据类型 int char】
   // Invoked when an action occurs. 
    public void actionPerformed(ActionEvent e);
}
public interface EventListener {
}
//ActionListener不能创建对象,因为其中的方法没有方法体,默认为抽象方法。

4.接口使用方式

接口使用方式(监听器也是接口)
关键字: implements  多实现可以实现多个接口
   //1、创建一个类 实现这个接口  
    public class 类名  implements 接口{
    //2、需要重写接口中所有抽象方法 ,改分号为大括号
        public void actionPerformed(ActionEvent e){
        }

例:一个登陆界面设计

import java.awt.Dimension;
import javax.swing.ImageIcon;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Login{
	
	public void initUI() {
		
		//新建窗体对象、设置窗体的尺寸、标题、位置、关闭
		JFrame jf=new JFrame();
		jf.setSize(380,500);
		jf.setTitle("登陆界面");
		jf.setLocationRelativeTo(null);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//设置页面布局
		FlowLayout flow = new FlowLayout();
		jf.setLayout(flow);
		//加载指定路径图片
		ImageIcon image=new ImageIcon("E:\\1.png");
		JLabel jla=new JLabel(image);
		jf.add(jla);
		//设置账号标签
		JLabel jlb=new JLabel("账号");
		//新建输入框对象,设置大小
		JTextField jtf1 = new JTextField();
		Dimension dm1 = new Dimension(300, 30);
		jtf1.setPreferredSize(dm1);
		//设置账号标签
		JLabel jlc=new JLabel("密码");
		//新建输入框对象,设置大小
		JTextField jtf2 = new JTextField();
		Dimension dm2 = new Dimension(300, 30);
		jtf2.setPreferredSize(dm2);
		//新建登录按钮
		JButton jbu=new JButton("登录");
		//把标签、输入框、按钮都添加到窗体中
		jf.add(jlb);
		jf.add(jtf1);
		jf.add(jlc);
		jf.add(jtf2);
		jf.add(jbu);
		//设置组件可见
		jf.setVisible(true);
		//按钮监听器
		ButtonListener l=new ButtonListener();
		jbu.addActionListener(l);
		l.jt=jtf1;
		l.jt2=jtf2;
	}
	public static void main(String[] args){
		Login lo=new Login();
		lo.initUI();
	}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class ButtonListener implements ActionListener {
	public String name="123";
	public String mima="123";
	public JTextField jt;
	public JTextField jt2;
	public void actionPerformed(ActionEvent e) {
		String userName=jt.getText();
		String password=jt2.getText();
		//判断账号密码是否正确
		if(name.equals(userName)&&mima.equals(password)) {
				String userName=jt.getText();
		String password=jt2.getText();
		JFrame jf=new JFrame();
		jf.setSize(200,200);
		jf.setTitle(" ");
		jf.setLocationRelativeTo(null);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
		if(name.equals(userName)&&mima.equals(password)) {
			jf.add(new JLabel("登陆成功"));	
		}
		else {
			jf.add(new JLabel("登陆失败"));
		}
	}
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值