Java键盘事件Swing组件

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 }
复制代码

 

posted @   靠谱杨  阅读(163)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示