第十三周课程总结
本周主要学习了键盘事件及监听处理、单选按钮、菜单组件以及事件和监听器。
一.监听适配器:
通过WindowAdapter实现监听
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package dishisanzhou; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class MyWindowListener implements WindowListener { public void windowOpened(WindowEvent e) { System.out.println( "窗口打开" ); } public void windowClosing(WindowEvent e) { System.out.println( "窗口关闭中" ); System.exit( 1 ); } public void windowClosed(WindowEvent e) { System.out.println( "窗口已关闭" ); } public void windowIconified(WindowEvent e) { System.out.println( "窗口最小化" ); } public void windowDeiconified(WindowEvent e) { System.out.println( "窗口最小化恢复" ); } public void windowActivated(WindowEvent e) { System.out.println( "窗口被选中" ); } public void windowDeactivated(WindowEvent e) { System.out.println( "窗口被取消" ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import javax.swing.*; import java.awt.*; public class MyWindowListenertext { public static void main(String[] args) { JFrame f= new JFrame( "ONE OF A KIND" ); f.addWindowListener( new MyWindowListener()); f.setSize( 460 , 315 ); f.setVisible( true ); } } |
二.键盘处理及监听事件:
在Swing的事件中也可以对键盘的操作进行监听,直接用KeyListener接口即可。
KeyListener接口方法
void keyPressed(KeyEvent e):键入某个键时调用
void keyReleased(KeyEvent e) :键盘按下时调用
void keyTyped(KeyEvent e):键盘松开时调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package dishisanzhou; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class Jkey extends JFrame { JTextArea area; JScrollPane scr; public Jkey(){ area= new JTextArea(); scr= new JScrollPane(area); scr.setBounds( 5 , 5 , 300 , 200 ); super .setTitle( "键盘事件" ); area.addKeyListener( new KeyAdapter() { public void keyTyped(KeyEvent e) { area.append( "输入的内容是:" +e.getKeyChar()+ "\n" ); } }); super .addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit( 1 ); } }); super .add(scr); super .setSize( 400 , 300 ); super .setVisible( true ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | package dishisanzhou; import javax.swing.*; import java.awt.*; public class test { public static void main(String[] args) { new Jkey(); } } |
三.菜单组件:
若在java中实现此菜单,则可使用JMenu组件,不过,如果要使用JMenu则首先要了解JMenuBar组件。
JMenuBar的常用方法
1.
public JMenuBar()
构造器。建立一个菜单栏。
2.
public JMenu add(JMenu c)
将c附加在菜单栏尾端并返回菜单。
3.public JMenu getMenu(int index)
返回第index个菜单,索引值0表示第一个菜单。
4.public int getMenuCount()
返回菜单计数。
JMenu的常用方法:
public JMenu(String s) 创建新的JMenu,并指定菜单名称
public JMenuItem add(JMenuItem menuItem) 增加新的菜单项
public void addSeparator() 加入分隔线
使用jmenu和jmenubar可以构造一个简单的菜单,但是要加入菜单项,则要使用JMenuItem组件,书上给出了详细的代码,但是跟老师上课讲的有些不同,我对老师上课讲的方法还没有完全理解,书上的给出这方面的代码功能没老师上课讲的多,老师主要是围绕一个记事本的构造讲的,对记事本的各方面做出了详细的代码,但是代码实在是有点长,弄不太懂。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)