1.4.2 键盘事件的处理

KeyListener  接口实现了处理键盘事件      KeyEvent 对象描述键盘事件的相关信息。

KeyListener 接口有三个方法:KeyPressed KeyReleased KeyTyped 编写键盘接听器类的时候既可以实现KeyListener接口也可以继承类 KeyAdapter。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_①_1

Swing组件界面设计

Swing 的顶层容器有JFrame 和 JDialog;

JFrame 对象不可以直接调用add 和 setLayout 方法来设置布局信息,每一个JFrame 对象都有一个与之对应的Container类的对象,默认BorderLayout。 可以通过调用 getContentPane 方法获得对应的内容面板,也可以

通过setContentPane(Container contentPane) 来重新设置内容面板。

JDialog 是对话框类

 1 package awt;
2 import java.awt.Color;
3 import java.awt.Container;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6
7 import javax.swing.JButton;
8 import javax.swing.JDialog;
9 import javax.swing.JFrame;
10 import javax.swing.JLabel;
11 import javax.swing.SwingConstants;
12 import javax.swing.WindowConstants;
13
14 class MyJDialog extends JDialog{
15 public MyJDialog(MyFrame_0 frame) {
16 // TODO Auto-generated constructor stub
17 super(frame,"第一个JDialog窗体",true);
18 Container container = getContentPane();
19 container.add(new JLabel("这是一个对话框"));
20 setBounds(100,100,200,120);
21 }
22 }
23 public class MyFrame_0 extends JFrame{
24
25 public static void main(String[] args) {
26 // TODO Auto-generated method stub
27 new MyFrame_0();
28 }
29
30 public MyFrame_0() {
31 // TODO Auto-generated constructor stub
32
33 Container container = getContentPane();
34 container.setLayout(null);
35 JLabel jl = new JLabel("这是一个JFrame窗体");
36 jl.setHorizontalAlignment(SwingConstants.CENTER);
37 container.add(jl);
38 JButton bl = new JButton("弹出对话框");
39 bl.setBounds(10,10,100,50);
40 bl.addActionListener(new ActionListener() {
41
42 @Override
43 public void actionPerformed(ActionEvent e) {
44 // TODO Auto-generated method stub
45 new MyJDialog(MyFrame_0.this).setVisible(true);
46 }
47 });
48 container.add(bl);
49 setBackground(Color.white);
50 setVisible(true);
51 setSize(200,120);
52 setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
53 }
54 }

JavaDailyReports10_10的更多相关文章

随机推荐

  1. 第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解

    上节介绍了__new__()方法这个比构造方法还重要的方法的语法,本节通过案例来详细剖析__new__()方法的细节以及它与构造方法之间的关系. 一.    案例说明 本节以圆Cir类为例来说明,为了 ...

  2. PyQt(Python+Qt)学习随笔:使用QFontDialog.getFont交互设置应用或部件的字体

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 PyQt中的部件只要是QWidget的派生类都可以在Designer或 ...

  3. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件移除选项卡的removeTab和clear方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 要从一个QTabWidget中去除选项卡,可用使用removeTab和clear方法. 1.移除选项 ...

  4. PyQt学习随笔:ListView控件增加列表项

    ListView控件如果需要增加列表项,就是在对应数据存储中插入项,这又分两种情况,一种是已知列表数据存储,一种是未知数据存储.如果是未知数据存储,可以通过: ListView控件名.model() ...

  5. SQLMap使用指北

    简介 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限.它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存 ...

  6. 条件循环语句组成了Python代码的骨架

    条件控制 我们都知道流程图是有多个分支的,程序中也是如此,在Python中是用if语句来判断程序该走哪个分支的.它的执行过程如下: 代码执行过程如下: if if语句的一般形式如下: if condi ...

  7. 对象存储COS全球加速助力企业出海

    近年来,中国互联网行业迅猛发展,国内庞大的市场孕育出了许多现象级的产品,也锤炼出了非常成熟的产业链.与此同时,很多海外市场还处于萌芽期,存在着巨大的流量红利,越来越多的互联网企业开始加速"出 ...

  8. 题解 洛谷P6853 station

    蒟蒻语 还是蒟蒻太菜了,这场 div1 竟然一题都没做出来/kk/kk/kk 蒟蒻解 首先我们把每 5 个点分为一组.然后分组结果大概是这样子: 可以看到首先下面需要有一条边来让整张图有一条支撑的路径 ...

  9. AWT06-事件处理

    在AWT中,用户的所有操作都要由事件处理来完成.Frame和组件本身没有处理事件的能力. 1.GUI事件处理机制 定义:在某个组件上发生某种操作时,自动触发某段代码. 事件处理涉及4个重要概念: 事件 ...

  10. IIS应用程序池配置详解及优化

    参数说明 1.常规 属性名称 属性详解 NET CLR 版本 配置应用程序池,以加载特定版本的 .NET CLR.选定的 CLR版本应与应用程序所使用的相应版本的 .NET Framework 对应. ...