- 浏览: 190999 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
wanglijunjsj:
谢谢,很有用
java log4j的一些总结 -
lxb_champagne:
this.init(); 类都没初始化好,this没用的。
java final变量的初始化问题 -
lg_asus:
上面代码有点小问题,最新代码:
public class Pr ...
判断素数 -
lg_asus:
测试10 million的以内的数据,算出所有素数时间在500 ...
判断素数 -
lg_asus:
文章中说错了:如果只是找一个数在不在其中,则可以直接遍历一次, ...
40亿不重复的正整数,如何判断一个数是否在其中
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; public class JMenuItemDemo3 { JFrame jf = null; JPopupMenu popup = null; public JMenuItemDemo3(){ jf = new JFrame(); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = buildFileMenu(); menuBar.add(fileMenu); PopupPanel pp = new PopupPanel(); jf.getContentPane().add(pp,BorderLayout.CENTER); jf.setJMenuBar(menuBar); jf.getContentPane().add(buildToolBar(),BorderLayout.NORTH); jf.setSize(new Dimension(400,300)); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String...args){ new JMenuItemDemo3(); } public JMenu buildFileMenu(){ JMenu fileMenu = new JMenu("File"); fileMenu.setMnemonic('F'); JMenuItem newf = new JMenuItem("New",new ImageIcon(".\\Icons\\home.jpg")); JMenuItem open = new JMenuItem("Open",new ImageIcon(".\\Icons\\home.jpg")); JMenuItem close = new JMenuItem("Close",new ImageIcon(".\\Icons\\home.jpg")); JMenuItem exit = new JMenuItem("Exit",new ImageIcon(".\\Icons\\home.jpg")); newf.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ System.out.println(e.getSource().getClass()); } }); open.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ System.out.println(e.getSource().hashCode()); } }); close.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ // System.out.println(e.getSource()); System.out.println(e.ACTION_FIRST); System.out.println(e.TEXT_EVENT_MASK); } }); exit.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ System.out.println(e.KEY_EVENT_MASK); } }); newf.setMnemonic('N'); open.setMnemonic('O'); close.setMnemonic('C'); exit.setMnemonic('E'); newf.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK, false)); open.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK,false)); JMenu prefMenu = new JMenu("Preferences..."); JMenuItem setPage = new JMenuItem("setPage",new ImageIcon(".\\Icons\\home.jpg")); setPage.setMnemonic('S'); setPage.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK,false)); prefMenu.add(setPage); fileMenu.add(newf); fileMenu.add(open); fileMenu.add(close); fileMenu.addSeparator(); fileMenu.add(prefMenu); fileMenu.addSeparator(); fileMenu.add(exit); return fileMenu; } public JToolBar buildToolBar(){ JToolBar toolBar = new JToolBar(); toolBar.setFloatable(true); ToolBarAction tba_new = new ToolBarAction("new",new ImageIcon(".\\Icons\\home.jpg")); //ToolBarAction tba_open = new ToolBarAction("open",new ImageIcon(".\\Icons\\home.jpg")); ToolBarAction tba_open = new ToolBarAction("open"); JButton jb = null; jb = toolBar.add(tba_new); jb.setToolTipText((String)tba_new.getValue(Action.NAME)); jb.setActionCommand("tba_new"); toolBar.addSeparator(); jb = toolBar.add(tba_open); jb.setToolTipText((String)tba_open.getValue(Action.NAME)); jb.setActionCommand("tba_open"); return toolBar; } class ToolBarAction extends AbstractAction{ public ToolBarAction(String name,Icon icon){ super(name,icon); } public ToolBarAction(String name){ super(name); } @Override public void actionPerformed(ActionEvent e) { System.out.println(e.getActionCommand()+"\n"); } } class PopupPanel extends JPanel implements MouseListener,PopupMenuListener,ActionListener{ public PopupPanel(){ popup = new JPopupMenu(); JMenuItem theItem; popup.add(theItem = new JMenuItem("cut",new ImageIcon(".\\Icons\\home.jpg"))); theItem.addActionListener(this); popup.add(theItem = new JMenuItem("copy",new ImageIcon(".\\Icons\\home.jpg"))); theItem.addActionListener(this); popup.addSeparator(); popup.add(theItem = new JMenuItem("Page Setup...")); theItem.addActionListener(this); popup.setBorder(new BevelBorder(BevelBorder.RAISED)); popup.addPopupMenuListener(this); addMouseListener(this); } @Override public void mouseClicked(MouseEvent me){ checkPopup(me); } @Override public void mousePressed(MouseEvent me){ checkPopup(me); } @Override public void mouseReleased(MouseEvent me){ checkPopup(me); } @Override public void mouseEntered(MouseEvent me){ checkPopup(me); } @Override public void mouseExited(MouseEvent me){ checkPopup(me); } @Override public void popupMenuWillBecomeVisible(PopupMenuEvent pme){ System.out.println("popup become visible"); } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent pme){ System.out.println("popup become invisible"); } @Override public void popupMenuCanceled(PopupMenuEvent pme){ System.out.println("pupup canceled"); } @Override public void actionPerformed(ActionEvent e){ System.out.println("popup performed"); } private void checkPopup(MouseEvent me){ if(me.isPopupTrigger()){ popup.show(me.getComponent(),me.getX(),me.getY()); } } } }
參考:深入淺出Java Swing程序設計
发表评论
-
swt tree demo with a text editor
2012-12-25 16:41 1542项目需要,从XML中读取数据生成一个Tree,然后可以对叶子节 ... -
Paint in AWT andSwing
2012-04-20 21:32 0jdk 1.0中用的是AWT,有一个缺点,就是每个组件要和一个 ... -
SwingUtilities的invokeLater和invokeAndWait
2012-02-28 18:00 1167参考: http://blog.csdn.net/bzwm/a ... -
swing第三方jar增强功能
2012-02-14 16:34 2522原文:http://hb.qq.com/a/20101220/ ... -
swing 日期组件
2012-02-03 15:35 1159/** * chega * 2011-9-21上午 ... -
java swing全屏显示方式
2012-02-01 11:01 5129覆盖任务栏和不覆盖任务栏见:http://blog.csdn. ... -
带有行标题的JTable
2012-01-06 15:59 1242/** * @author chega * thi ... -
JColorChooser
2010-07-18 21:25 1179import java.awt.*; import ja ... -
JFileChooser
2010-07-18 20:17 1226import java.awt.*; import ja ... -
AbstractAction
2010-07-18 10:00 1831import java.awt.*; import ja ... -
JTree
2010-07-17 16:41 1209import java.awt.*; import ja ... -
JTree
2010-07-17 14:58 1039import java.awt.*; import ja ... -
JTree
2010-07-17 13:17 1077import java.awt.*; import ja ... -
UndoableEditListener 和 DocumentListener
2010-07-15 21:24 1355import java.awt.*; import ja ... -
JTable增刪行列
2010-07-14 19:57 1455import java.awt.*; import ja ... -
JTable背景色與Boolean類型數據顯示衝突的問題
2010-07-12 16:53 946import java.awt.*; import java ... -
JComboBox每個Item加圖標
2010-07-11 16:46 1290import java.awt.*; import java ... -
JComboBox
2010-07-11 16:33 1308JComboBox(ComboModel):可以繼承Abstr ... -
JList雙向列表
2010-07-11 15:43 813import java.awt.*; import java ... -
給JList每個Item加個圖標
2010-07-11 14:40 1408import java.awt.*; import ja ...
相关推荐
让我们深入探讨一下如何在Java中使用`JFrame`,以及与之相关的`JMenuBar`、`JMenu`和`JMenuItem`。 首先,`JFrame`是Java图形用户界面(GUI)的核心元素。创建一个新的`JFrame`实例非常简单,如下所示: ```java ...
itemNew=new JMenuItem("新建",new ImageIcon("images//a.gif")); itemOpen=new JMenuItem("打开"); itemSave=new JMenuItem("保存"); itemSaveAs=new JMenuItem("另存为"); itemPage=new JMenuItem("页面设置...
final JMenuItem open = new JMenuItem("打开");//菜单项 JMenuItem New = new JMenuItem("新建"); JMenuItem save = new JMenuItem("保存"); final JMenuItem saveas = new JMenuItem("另存为..."); JMenuItem exit...
private JMenuItem formatMenu2 = new JMenuItem("字体(F)... "); private JMenuItem checkMenu = new JMenuItem("状态栏(S) "); private JMenuItem[] helpMenu = { new JMenuItem("查看帮助(H) "), new ...
本资源是一个使用 Java 开发电子书的教程,分为上篇和下篇。上篇主要讲解了电子书的开发背景、目标和实施步骤。 一、项目背景 移动互联网的发展使得电子书变得非常流行,电子书已经成为现在的主流阅读方式。针对...
JMenuItem chengji=new JMenuItem("成绩"); JMenuItem exit=new JMenuItem("退出"); Luru.add(name); Luru.add(id); Luru.add(chengji); Luru.add(exit); menuBar.add(Luru); JMenu excel=new JMenu...
/*定义菜单栏,菜单和菜单选项*/ JMenuBar menuBar1=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenu editMenu=new JMenu("Edit"); JMenu optionMenu=new JMenu("Option"); JMenu advanceMenu=new ...
private JMenuItem playerVsComputer = new JMenuItem("人机对战"); private JMenuItem server = new JMenuItem("建立游戏"); private JMenuItem client = new JMenuItem("连接游戏"); private JMenuItem ...
Java写一个记事本雏形:文本编辑器程序附完整代码,实现了部分记事本的功能,比如文字的复制、剪切、粘贴,还支持新建、打开和保存文本文件等功能,记事本功能界面如演示截图所示。 JMenuBar menubar = new ...
2. JMenu和 JMenuItem:在Swing中,`JMenu` 类用于创建菜单,而 `JMenuItem` 类用于创建菜单项。级联菜单是通过在 `JMenu` 中添加 `JMenu` 实例来实现的。当一个 `JMenuItem` 是一个 `JMenu` 时,它就会成为级联菜单...
JMenuItem saveAsItem = new JMenuItem("另存为"); JMenuItem exitItem = new JMenuItem("退出"); JMenuItem selectItem = new JMenuItem("全选"); JMenuItem cutItem = new JMenuItem("剪切"); JMenuItem copyItem...
JMenuItem barlj = new JMenuItem("测试与数据库连接"); JMenu barpx = new JMenu("排序"); JMenuItem barpxid = new JMenuItem("按序号排序"); JMenuItem barpxxm = new JMenuItem("按姓名排序"); TableColumn...
fileMenu.add(jm1=new JMenuItem("普通客户分类")); fileMenu.addSeparator(); fileMenu.add(jm2=new JMenuItem("VIP")); fileMenu.add(jm3=new JMenuItem("检测当前客户")); fileMenu.add(jm4=new JMenuItem...
本教程将详细解释如何使用Swing中的JMenu、JMenuBar和JMenuItem组件来创建一个自定义的菜单界面。 首先,我们来看一下菜单栏(JMenuBar)和菜单(JMenu)的创建。在Java程序中,菜单栏通常位于窗口的顶部,用于承载...
private JMenuItem[] menuitem2={new JMenuItem("禁手选择"),new JMenuItem("人机博弈"),new JMenuItem("人人对弈")}; private JMenuItem[] menuitem3={new JMenuItem("规则"),new JMenuItem("关于")}; private ...
在Swing中,菜单主要由`JMenuBar`, `JMenu` 和 ` JMenuItem` 类组成。`JMenuBar` 是菜单栏,通常位于窗口的顶部;`JMenu` 是菜单项,可以包含子菜单;而`JMenuItem` 是菜单中的具体操作选项。 要创建一个可折叠菜单...
这段描述提到了实现文本编辑框的核心组件:JTextArea,以及用于创建菜单的JMenuBar、JMenu和JMenuItem。在Java Swing中,这些组件用于构建用户交互界面。例如,"记事本"是窗口的标题,而"文件"和"帮助"是菜单项,...
JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f); userM.add(password); userM.add(addDelete); JMenu mesM = new JMenu("信息管理"); mesM .setFont(f); mb.add...
6. **图书借阅管理**:记录图书借阅和归还的时间,方便管理员进行管理和统计。 #### 四、实验步骤 1. **系统设计**:首先明确系统的需求,设计数据库表结构,确定各个功能模块之间的交互方式。 2. **界面搭建**:...
下拉菜单通常由JMenuBar、JMenu和JMenuItem等类构成。下面将详细讲解如何使用这些组件以及事件监听来实现一个简单的Java下拉菜单。 首先,我们需要导入必要的包,如`javax.swing.*`,这个包包含了所有用于构建图形...