接口的使用,窗口的设置与监视器

刚学完一些关于接口的简单知识,并且自己制作一个简单的窗口并且能用监听器进行简单的交互,讲一讲自己的心得体会。

接口的定义需要关键字“interface”,如“public interface Person{}”。
接口中的属性必须是公共的静态常量如“public static final int a = 3;”,前三个关键字“public,static,final”不加的话系统也会默认。
接口中的方法必须是抽象方法,如“public abstract void rest();”,用分号结尾,方法体需要具体实现后重写。

login.java

public class login {
	public static void main(String[] agrs)
	{
		login lo = new login();
		lo.showUI();
		//在主函数中调用对象lo的方法
	}
	public void showUI()
	{
	//首先我们先建一个窗体对象,这个类封装在javax.swing.JFrame中,我们也可以在主函数类的开头进行“import javax.swing.JFrame”操作。
		javax.swing.JFrame jf = new javax.swing.JFrame();
		//调用对象的设置大小方法getSize,其单位为像素,传入的值必须为正,应为窗体的X轴正方向从左上角往右,Y轴正方向从左上角往下。
		jf.setSize(300,400);
		//设置窗体的标题
		jf.setTitle("INDEX");
		//设置窗体关闭进程的属性,有四种选择“DO_NOTHING_ON_CLOSE”,“HIDE_ON_CLOSE”,“DISPOSE_ON_CLOSE”,“EXIT_ON_CLOSE”,分别对应参数0,1,2,3.
		
		jf.setDefaultCloseOperation(3);
		//设置窗体居中显示
		jf.setLocationRelativeTo(null);
		//流式设计
		java.awt.FlowLayout flow = new java.awt.FlowLayout();
		jf.setLayout(flow);
		
		//image
		//选择图片的路径,注意双斜线,最后的图片要加图片格式
		javax.swing.ImageIcon icn = new javax.swing.ImageIcon("C:\\Users\\14188\\Pictures\\500516085.jpg");
		//将图片对象放入标签对象当中
		javax.swing.JLabel jla = new javax.swing.JLabel(icn);
		//设置图片的大小,此时注意图片不是缩放而是裁剪
		java.awt.Dimension dm = new java.awt.Dimension(300,200);
		//设置标签大小
		jla.setPreferredSize(dm);
		jf.add(jla);
		
		//text
		//设置文本框,与图片的设置类似
		javax.swing.JTextField jtf1 = new javax.swing.JTextField();
		java.awt.Dimension dmm = new java.awt.Dimension(200,50);
		jtf1.setPreferredSize(dmm);
		jf.add(jtf1);
		javax.swing.JTextField jtf2 = new javax.swing.JTextField();
		java.awt.Dimension dmmm = new java.awt.Dimension(200,20);
		jtf2.setPreferredSize(dmmm);
		jf.add(jtf1);
		jf.add(jtf2);
		
		//checkbox
		javax.swing.JCheckBox jcb = new javax.swing.JCheckBox("记住密码");
		
		jf.add(jcb);
		
		//botton
		javax.swing.JButton jbu = new javax.swing.JButton("Login");
		jf.add(jbu);
		
		//setvisible
		jf.setVisible(true);
		
		//Actionlistener
		//设置一个行动监听器,新创建一个类Butlistener来实现接口类ActionListener
		Butlistener but = new Butlistener();
		jbu.addActionListener(but);
	    //因为Butlistener中jtf1,jtf2对象为私有属性,所以这里用but的成员函数进行赋值
		but.getjtf1(jtf1);
		but.getjtf2(jtf2);
	}
}

Butlistener.java

import java.awt.event.ActionEvent;

import javax.swing.JTextField;
//实现接口类要用专门的关键字“implements”,不同于继承的关键字“extends”,ActionListener类在“java.awt.event.*”中.
public class Butlistener implements java.awt.event.ActionListener{
	private JTextField jtf1;
	private JTextField jtf2;
	//设置对jtf1,jtf2的操作函数
	public void getjtf1(JTextField j1){
		this.jtf1 = j1;
	}
	public void getjtf2(JTextField j2){
		this.jtf2 = j2;
	}
	//对接口类中的方法进行重写(一定要将接口类中的所有方法重写,否则编译不会通过)
	public void actionPerformed(ActionEvent e){
	//获取文本框中的内容
		String name = jtf1.getText();
		String password = jtf2.getText();
		//如果输入的内容匹配,则输出正确
		if(name.equals( "JiangJun") && password.equals("123456")){
			System.out.println("Login sussessfully!");
		}
		//否则输出错误
		else{
			System.out.println("Please correct your input!");
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值