第十三周课程总结
本周主要学习了键盘事件及监听处理、单选按钮、菜单组件以及事件和监听器。
一.监听适配器:
通过WindowAdapter实现监听
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("窗口被取消"); } }
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):键盘松开时调用
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()+" "); } }); super.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(1); } }); super.add(scr); super.setSize(400,300); super.setVisible(true); } }
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组件,书上给出了详细的代码,但是跟老师上课讲的有些不同,我对老师上课讲的方法还没有完全理解,书上的给出这方面的代码功能没老师上课讲的多,老师主要是围绕一个记事本的构造讲的,对记事本的各方面做出了详细的代码,但是代码实在是有点长,弄不太懂。