JAVA的继承,构造函数,窗体
import java.awt.*;
import javax.swing.*;
import javax.swing.JFrame;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class QQ extends JFrame //继承JFrame
{
QQ() //构造函数
{
display();//调用display()函数
}
JButton btn1;
JButton btn2;
JTextField jtf1;
JPasswordField jpf1; //密码文本
class MyListener extends WindowAdapter //适配器 是扩展 不需要覆盖WindowAdapter中的所有方法 功能代码较多
{
public void windowClosing(WindowEvent e)
{
System.out.println("windowClosing");
int res = JOptionPane.showConfirmDialog(null,"是否退出程序应用","提示", JOptionPane.YES_NO_OPTION); //弹出消息框
System.out.println("res =" + res);
if(res == 0)
{
System.out.println("退出");
System.exit(1);// 退出
System.out.println("退出1"); //不输出 因为exit先执行
}
else if(res == 1)
{
System.out.println("不退出");
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
//System.exit(1);// 退出
// 不退出
}
}
}
class BtnAction implements ActionListener //btn事件
{
public void actionPerformed(ActionEvent e)
{
System.out.println("actionPerformed");
if(jtf1.getText().equals("jk") && jpf1.getText().equals("jk"))
{
System.out.println("OK");
dispose();
(new JFrame("主窗口")).setVisible(true);
}
else
{
System.out.println("Error");
JOptionPane.showConfirmDialog(null,"密码错误","提示", JOptionPane.DEFAULT_OPTION);
}
}
}
class BtnAction2 implements ActionListener //内部类
{
public void actionPerformed(ActionEvent e)
{
Object o = e.getSource();
JButton b = (JButton)o; //强制类型转换
System.out.println("芝麻开门" + btn2.getText()); //类的成员/函数,可以在内部类中使用 if(b == btn2) //b.getSource == "注册"
{
jtf1.setText("");
jpf1.setText("");
}
}
}
public void display()
{
//JFrame frm = new JFrame(); //窗体
ImageIcon img1 = new ImageIcon("timg.gif"); //背景
JLabel background1 = new JLabel(img1);
this.getLayeredPane().add(background1, new Integer(Integer.MIN_VALUE));
//background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
background1.setBounds(0, 0, 425, 450);
ImageIcon img2 = new ImageIcon("33.gif");
JLabel background2 = new JLabel(img2);
this.getLayeredPane().add(background2, new Integer(Integer.MIN_VALUE));
background2.setBounds(0, 0, img2.getIconWidth(), img2.getIconHeight()); jtf1 = new JTextField(30); //文本
//jtf1.setColumns(10);
jtf1.setSize(200,35);
jtf1.setLocation(130,130);
jpf1 = new JPasswordField(30); //密码文本
//jpf1.setEchoChar('#'); 设置密码文本内容
jpf1.setSize(200,35);
jpf1.setLocation(130,180); JLabel lab1 = new JLabel("账号:"); //标题
Font fnt = new Font("Serief",Font.ITALIC+Font.BOLD,15);
lab1.setFont(fnt);
lab1.setBackground(Color.BLUE); //label的背景颜色
lab1.setOpaque(true); //label是否透明
lab1.setForeground(Color.YELLOW); //label前景色
JLabel lab2 = new JLabel("密码:");
lab1.setSize(50,30);
lab2.setSize(50,30);
lab1.setLocation(70,130);
lab2.setLocation(70,180);
btn1 = new JButton("登录");
btn1.setBounds(100,230,180,50);
Image im1 = (new ImageIcon("QQ.png")).getImage(); //图标
this.setIconImage(im1);
//ImageIcon im2 = new ImageIcon("77.png"); //图标
ImageIcon im2 = new ImageIcon("./77.png");
btn1.setIcon(im2);
this.setLayout(null); //布局--绝对布局
MyListener ltn = new MyListener(); //监听
this.addWindowListener(ltn);
BtnAction act = new BtnAction(); //btn事件
btn1.addActionListener(act);
btn2 = new JButton("重置");
btn2.setBounds(300,230,100,50);
BtnAction2 act2 = new BtnAction2();
btn2.addActionListener(act2);
//frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(425,325);
this.setLocation(700,500);
this.setTitle("QQ登录");
this.setResizable(false);
this.add(btn1);
this.add(btn2);
this.add(lab1);
this.add(lab2);
this.add(jpf1);
this.add(jtf1);
this.add(background1);
this.add(background2);
this.setVisible(true);
System.out.println("OK");
}
public static void main(String[] args)
{
QQ Event1 = new QQ();
System.out.println("OK");
}
}



JAVA的继承,构造函数,窗体的更多相关文章
- java内部类继承--构造函数传参
		
/: innerclasses/InheritInner.java // Inheriting an inner class. class WithInner { class Inner {} } / ...
 - java中继承,子类是否继承父类的构造函数
		
java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显式) 下面来看例子: public class TestExtends { publi ...
 - Java面向对象㈡ -- 继承与多态
		
Java的继承是通过extends和implement来实现的,Java不支持多继承,但是Java支持多层继承以及多实现(接口).Java继承有一个关键字super是用来指向父类.Java继承衍生出覆 ...
 - java的继承机制
		
这次我想深入探究以下java里类的继承机制. 我们知道,继承是java设计里的一个失败的地方.高司令说过:如果让他重新设计java的话,他会把继承去掉.而java里继承到底怎么了,会这么不 ...
 - Java面向对象   继承(下)
		
 Java面向对象 继承(下) 知识概要: (1)抽象类 1.1 抽象类概述 1.2 抽象类的特点 ...
 - Java面向对象  继承(上)
		
 Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
 - [ Java学习基础 ] Java的继承与多态
		
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
 - Java开发知识之Java的继承多态跟接口*
		
Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...
 - Java基础八--构造函数
		
Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super( ...
 - 谈谈java中的构造函数
		
from 本篇博文主要是为新手.对java语言感兴趣的人和那些没有系统学习过java基础知识的人进行一个总结,在文章中对构造函数进行了较为详细的说明和讨论,也包含了我个人对于java面向对象中构造函数 ...
 
随机推荐
- 简单Elixir游戏服务器-安装Elixir
			
用WebInstaller 安装半天也没下载成功文件. 改成直接下载erlang 和 elixir 预编译包了. 安装很简单,最后设置好环境变量. cmd 执行 elixir -v 最后顺便下载了个g ...
 - 1-git初体验
			
1 准备工作: windows系统下,安装好msysgit -安装好后,在开始菜单找到Git > Git bash 2 当前电脑配置用户名 邮箱 $ git config --global ...
 - windows mysql 操作实践
			
1.通过navicat for mysql 进行数据库表的输入操作. 2.使用mySQL shell进行查询. 3. 显示数据表中的所有列的名称 show colums from user 4. 进 ...
 - Mvc 流程调用分析
			
链接地址 https://www.processon.com/view/link/59e71fbbe4b09000f03ce78e 总结: 1. 在Global.ascx 中我们使用RouteColl ...
 - linux 远程操作(expect)
			
Expect是在Tcl基础上创建起来的,它还提供了一些Tcl所没有的命令,它可以用来做一些linux下无法做到交互的一些命令操作,在远程管 理方面发挥很大的作用. spawn命令激活一个Unix程序来 ...
 - 简易RPC框架-客户端限流配置
			
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
 - Windows 10下Docker使用经验谈
			
最近一直在开发Apworks框架的案例代码,同时也在一起修复Apworks框架中的Bug和一些设计上的不足.遇到的一个普遍问题是,代码的调试过程需要依赖很多外部系统,比如MongoDB.Postgre ...
 - [extjs(1)]MyEclipse2014安装ext4插件Spket
			
1 解压好的Spket目录如下 2 建议以link方式安装Spket到MyEclipse中 找到MyEclipse的安装目录 如 3 在MyEclipse 的根目录新建一个目录extjs 当然也可 ...
 - 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)
			
在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...
 - 值得学习的C/C++开源框架(转)
			
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...