Java Swing中菜单栏、弹出式菜单、树形控件的使用
来源:互联网 发布:java工厂设计模式原理 编辑:程序博客网 时间:2024/05/22 10:24
参考文档:http://docs.oracle.com/javase/8/docs/api/index.html
1.菜单栏、主菜单、菜单选择的使用
package com.Swing;import javax.swing.*;import java.awt.event.*;public class MenuDemo implements ActionListener { JFrame f; JMenuBar mb;//定义菜单栏 JMenu file, edit, help;//定义主菜单 JMenuItem cut, copy, paste, selectAll;//定义菜单选项 JTextArea ta; JScrollPane js; MenuDemo() { f = new JFrame(); js=new JScrollPane(); cut = new JMenuItem("剪切"); copy = new JMenuItem("复制"); paste = new JMenuItem("粘贴"); selectAll = new JMenuItem("全选"); //添加监听者 cut.addActionListener(this); copy.addActionListener(this); paste.addActionListener(this); selectAll.addActionListener(this); mb = new JMenuBar(); file = new JMenu("文件"); edit = new JMenu("编辑"); help = new JMenu("帮助"); edit.add(cut); edit.add(copy); edit.add(paste); edit.add(selectAll); mb.add(file); mb.add(edit); mb.add(help); ta = new JTextArea(); ta.setBounds(5, 5, 373, 325); js.add(ta); f.add(js); f.add(mb); f.add(ta); f.setJMenuBar(mb); f.setLayout(null); f.setSize(400, 400); f.setLocationRelativeTo(null); f.setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == cut) ta.cut(); if (e.getSource() == paste) ta.paste(); if (e.getSource() == copy) ta.copy(); if (e.getSource() == selectAll) ta.selectAll(); } public static void main(String[] args) { new MenuDemo(); }}
结果:
2.弹出式菜单的使用
package com.Swing;import javax.swing.*;import java.awt.event.*;class PopupMenuDemo { PopupMenuDemo() { final JFrame f = new JFrame("演示"); final JLabel label = new JLabel(); label.setHorizontalAlignment(JLabel.CENTER); label.setSize(400, 100); final JPopupMenu popupmenu = new JPopupMenu("编辑"); JMenuItem cut = new JMenuItem("剪切"); JMenuItem copy = new JMenuItem("复制"); JMenuItem paste = new JMenuItem("粘贴"); popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste); f.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { //获取鼠标点击的位置 popupmenu.show(f, e.getX(), e.getY()); } }); cut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("剪切菜单项选中"); } }); copy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("复制菜单项选中"); } }); paste.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("粘贴菜单项选中"); } }); f.add(label); f.add(popupmenu); f.setSize(400, 400); f.setLocationRelativeTo(null); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new PopupMenuDemo(); }}
3.树形控件的使用
package com.Swing;import javax.swing.*;import javax.swing.tree.DefaultMutableTreeNode;public class TreeDemo { JFrame f; TreeDemo() { f = new JFrame(); DefaultMutableTreeNode sort= new DefaultMutableTreeNode("食材分类"); DefaultMutableTreeNode vagetable = new DefaultMutableTreeNode("蔬菜类"); DefaultMutableTreeNode meat = new DefaultMutableTreeNode("肉类"); sort.add(vagetable ); sort.add(meat); DefaultMutableTreeNode b = new DefaultMutableTreeNode("百香果"); DefaultMutableTreeNode jin = new DefaultMutableTreeNode("泰国金桔"); DefaultMutableTreeNode liulian = new DefaultMutableTreeNode("榴莲"); DefaultMutableTreeNode ytao = new DefaultMutableTreeNode("樱桃"); vagetable .add(b); vagetable .add(jin); vagetable .add(liulian); vagetable .add(ytao); DefaultMutableTreeNode c = new DefaultMutableTreeNode("牛肉"); meat.add(c); JTree jt = new JTree(sort); f.add(jt); f.setSize(400, 400); f.setLocationRelativeTo(null); f.setVisible(true); } public static void main(String[] args) { new TreeDemo(); }}
结果:
阅读全文
0 0
- Java Swing中菜单栏、弹出式菜单、树形控件的使用
- Swing组件使用-弹出式菜单
- vc树形控件中点击右键建立一个弹出式菜单
- Swing中菜单栏JToolBar的使用
- (总结)Swing组件的使用---下拉式菜单(menu),弹出式菜单(JPopupMenu),选项卡窗体(JTabbedPane)
- 为树形控件添加弹出式菜单,并跟踪所选择的项
- 弹出式菜单的简单使用
- 弹出式菜单 java编程思想中例程的看法
- JSP中使用XML实现弹出式菜单
- java Swing中对于JList控件的使用(一)
- Java 右键弹出式菜单
- java---------GUI弹出式菜单
- swing中菜单栏
- 弹出式菜单的实现
- 弹出式菜单的代码
- 弹出式菜单的响应
- qt的弹出式菜单
- 弹出式菜单的编写
- mybatis查询时间段sql语句
- 个人笔记 github
- java 根据日期计算星期几
- Xml之Pull解析
- 使用Snapdragon Profiler工具分析Dragonboard410c(二)
- Java Swing中菜单栏、弹出式菜单、树形控件的使用
- 理解RESTful架构-转载自阮一峰的网络日志
- Android 屏幕适配攻略(四)获取手机屏幕的相关信息 与动态设置控件的大小
- 不可模数
- php7.0项目在本地完美运行上传至服务器手机app不显示数据
- app开发中的异步处理(四)
- 自动行为操控Steering(四)—到达(单体操控)
- Bayes
- curl 详解