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. C#:终于有人把 ValueTask、IValueTaskSource、ManualResetValueTaskSourceCore 说清楚了!

    目录 1,可用版本与参考资料 2,ValueTask 和 Task 3,编译器如何编译 4,ValueTask 有什么优势 5,ValueTask 创建异步任务 6,IValueTaskSource ...

  2. 【Usaco 2009 Gold】JZOJ2020年9月19日提高B组T4 过路费

    [Usaco 2009 Gold]JZOJ2020年9月19日提高B组T4 过路费 题目 Description 跟所有人一样,农夫约翰以着宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生财之 ...

  3. PyQt(Python+Qt)学习随笔:QMainWindow的tabifyDockWidget方法将QDockWidget两个停靠窗选项卡式排列

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 主窗口的tabifyDockWidget方法用于将主窗口的两个停靠窗口 ...

  4. 第11.9节 Python正则表达式的贪婪模式和非贪婪模式

    在使用正则表达式时,匹配算法存在贪婪模式和非贪婪模式两种模式,在<第11.8节 Pytho正则表达式的重复匹配模式及元字符"?". "*". " ...

  5. PyQt(Python+Qt)学习随笔:QListView的gridSize属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的gridSize属性用于控制视图中数据项排列所在网格的大小,gridSize默认 ...

  6. PyQt(Python+Qt)学习随笔:Qt Designer中部件的 baseSize和sizeIncrement

    1.baseSize 部件的 baseSize是部件的基础大小(单位:像素),如果部件设定了sizeIncrement,该属性用于在调整部件尺寸时计算部件应该调整到的合适值,但这个属性缺省值是QSiz ...

  7. Python+Qt学习随笔:PyQt图形界面应用的事件处理流程

    图形界面的事件处理是界面操作的核心,经过编写测试程序验证,基本确认PyQt图形界面应用程序的事件处理流程如下: 1.操作系统或其他应用发送消息给应用主程序: 2.应用主程序调用notify将消息队列中 ...

  8. Javascrip之BOM

    重点内容 理解windows对象-BOM核心 控制窗口.框架.弹出窗口 利用location对象中的页面信息 利用navigator对象了解浏览器 BOM:浏览器对象模型[Browner Object ...

  9. CTFHub Web题学习笔记(SQL注入题解writeup)

    Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...

  10. SQL注入WAF绕过姿势

    (1)大小写绕过 此类绕过不经常使用,但是用的时候也不能忘了它,他原理是基于SQL语句不分大小写的,但过滤只过滤其中一种. 这里有道题 (2)替换关键字 这种情况下大小写转化无法绕过而且正则表达式会替 ...