菜单、工具栏、对话框和内部框架
- 菜单
- 图标、热键和快捷键
- 菜单项与功能的连接
- 弹出式菜单
- 工具栏JToolBar
- Action对象和ActionListener
- 标准对话框JOptionPane
- 消息对话框
- 确认对话框
- 输入对话框
- 其他对话框
菜单
Java提供5个实现菜单的类:
- JMenuBar
- JMenu
- JMenuItem
- JCheckboxMenuItem
- JRadioButtonMenuItem
图标、热键和快捷键
- 通过下列语句为菜单项添加图标
JMenuItem jmit=new ……;
Jmit.setIcon(new ImageIcon(“new.gif”)); - 通过下列语句为菜单项添加热键(ALT)
Jmit.setMnemonic(‘N’); - 通过下列语句为菜单项添加快捷键
Jmit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_o,ActionEvent.CTRL_MASK));
菜单项与功能的连接
如何将菜单项与对应功能关联起来?
- MFC中通过填写菜单项的单击事件处理函数(Onclick())完成
- Java中类似,以为菜单项添加事件监听完成 该监听器为ActionListener
弹出式菜单
什么是弹出式菜单?
- 常见的右键点击出现的菜单就是弹出式菜单
- 弹出式菜单才是最早的菜单
- 创建并弹出 “弹出式菜单”
JPopupMenu jpm = new JPopupMenu();
Jpm.add(new JmenuItem(“new”));
Jpm.show(component, x, y); - 不同系统设定了不同的PopupTriger
工具栏JToolBar
工具栏是什么?
- 工具栏与菜单的关系:快速访问菜单项
- 工具栏是一个容器,默认的布局为BoxLayout
- 工具栏可以浮动 通过属性 floatable设定
Action对象和ActionListener
- Swing提供Action接口产生处理行为的Action对象
- Action接口是ActionListener的一个子接口
- 为一个按钮添加一个Action对象等价于为其添加了ActionListener监听
如: jMenu.add(exitAction);
表示:当点击菜单项jMenu时将执行exitAction对象中的actionPerformed方法 - 可以添加Action对象的组件有
Jmenu
JToolBar
部分Swing组件:JButton,JRadioButton,JCheckBox - Action对象也可以与热键和快捷键建立关联使用Action对象的putvalue方法
标准对话框JOptionPane
- 一般对话框Dialog 和标准对话框
- MFC中的消息对话框:AfxMessageBox(“OK!”);
- JOptionPane可以创建四种标准对话框:
消息对话框
确认对话框
输入对话框
选项对话框
使用JOptionPane的showXxxDialog方法创建
消息对话框
- JOPtionPane .showMessageDialog(null,”消息内容”, “对话框标题”, JOptionPan.INFORMATION_MESSAGE)
- MessageType决定消息前面的图标不同,如Warning Message 消息前面将显示一个“!”
- 消息内容的message 参数是一个对象,如果该对象是GUI组件如按钮之类,则显示该组件,如果不是GUI组件则显示该对象的描述字符串
确认对话框
- 确认对话框 通过返回值获得用户的选择信息,如:
Int isOk = showConfirmDialog(null," is this ok?","confirm”,JOPtionPane.YES_NO_OPTION); - isOk的取值:JOPtionPane.YES_OPTION 等
输入对话框
- ShowInputDialog返回用户输入的字符串是最方便的获取用户输入字符串的方法
- 如:String txt = showInputDialog(“please input :”);
其他对话框
- 颜色对话框JColorChooser
- 文件对话框JFileChooser
首先JFileChooser 用于获取一个文件
文件获取后支持两种操作 打开 保存
操作步骤: - 定义JFileChooser
JFileChooser jfc = new JFileChooser (new File(“.”));
参数用于指定选择文件的路径 - 如果要打开文件则调用:
jfc.showOpenDialog(this);
如果要保存文件则调用:
Jfc.showSaveDialog(this); - 通过对话框用户可以选择需要的文件
jfc.showOpenDialog(this);返回用户的确认信息
若返回JFileChoose.APPROVE_OPTION则表示用户已确认选择了文件
则,可用jfc.getSelectionFile();获得用户选择的文件对象