社区
Java SE
帖子详情
用 MenuBar,PopupMenu制作菜单,快捷菜单,如何才能让菜单运行显示出来啊?
xsm7702
2004-03-08 09:52:32
小弟知道制作出菜单,就是运行显示不出来,请问,这是怎么回事啊?
...全文
39
3
打赏
收藏
用 MenuBar,PopupMenu制作菜单,快捷菜单,如何才能让菜单运行显示出来啊?
小弟知道制作出菜单,就是运行显示不出来,请问,这是怎么回事啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gallery3D源码分析
gallery3D分析 Gallery3D中定义了很多控件它们都继承自com.cooliris.media.Layer,分别代表不同场景和界面下的UI元素,具体有如下控件 com.cooliris.media.GridLayer :网格所略图
显示
和单个图片
显示
com.cooliris.media.BackgroundLayer :背景 com.cooliris.media.HudLayer :相册
显示
com.cooliris.media.ImageButton :图片按钮(主要指进入Gallery后右上角的那个控件) com.cooliris.media.TimeBar :进入Gallery后下方可拖动的悬浮控件 com.cooliris.media.
MenuBar
:点击图片时弹出的
菜单
按钮 com.cooliris.media.
PopupMenu
:点击
菜单
按钮后弹出来的
菜单
项 com.cooliris.media.PathBarLayer :如今Gallery后左上方
显示
图片路径的空间
用java编写的记事本,基本功能都实现了啊!
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.BorderFactory; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.J
MenuBar
; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.J
PopupMenu
; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.KeyStroke; import javax.swing.ScrollPaneConstants; import javax.swing.SwingConstants; public class JNotePadUI extends JFrame { private JMenuItem menuOpen; private JMenuItem menuSave; private JMenuItem menuSaveAs; private JMenuItem menuClose; private JMenu editMenu; private JMenuItem menuCut; private JMenuItem menuCopy; private JMenuItem menuPaste; private JMenuItem menuAbout; private JTextArea textArea; private JLabel stateBar; private JFileChooser fileChooser; private J
PopupMenu
popUpMenu
; public JNotePadUI() { super("新建文本文件"); setUpUIComponent(); setUpEventListener(); setVisible(true); } private void setUpUIComponent() { setSize(640, 480); //
菜单
栏 J
MenuBar
menuBar
= new J
MenuBar
(); // 设置「文件」
菜单
JMenu fileMenu = new JMenu("文件"); menuOpen = new JMenuItem("打开"); //
快捷
键设置 menuOpen.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_O, InputEvent.CTRL_MASK)); menuSave = new JMenuItem("保存"); menuSave.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_S, InputEvent.CTRL_MASK)); menuSaveAs = new JMenuItem("另存为"); menuClose = new JMenuItem("关闭"); menuClose.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_Q, InputEvent.CTRL_MASK)); fileMenu.add(menuOpen); fileMenu.addSeparator(); // 分隔线 fileMenu.add(menuSave); fileMenu.add(menuSaveAs); fileMenu.addSeparator(); // 分隔线 fileMenu.add(menuClose); // 设置「编辑」
菜单
JMenu editMenu = new JMenu("编辑"); menuCut = new JMenuItem("剪切"); menuCut.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK)); menuCopy = new JMenuItem("复制"); menuCopy.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK)); menuPaste = new JMenuItem("粘贴"); menuPaste.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK)); editMenu.add(menuCut); editMenu.add(menuCopy); editMenu.add(menuPaste); // 设置「关于」
菜单
JMenu aboutMenu = new JMenu("关于"); menuAbout = new JMenuItem("关于JNotePad"); aboutMenu.add(menuAbout);
menuBar
.add(fileMenu);
menuBar
.add(editMenu);
menuBar
.add(aboutMenu); setJ
MenuBar
(
menuBar
); // 文字编辑区域 textArea = new JTextArea(); textArea.setFont(new Font("宋体", Font.PLAIN, 16)); textArea.setLineWrap(true); JScrollPane panel = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); Container contentPane = getContentPane(); contentPane.add(panel, BorderLayout.CENTER); // 状态栏 stateBar = new JLabel("未修改"); stateBar.setHorizontalAlignment(SwingConstants.LEFT); stateBar.setBorder( BorderFactory.createEtchedBorder()); contentPane.add(stateBar, BorderLayout.SOUTH);
popUpMenu
= editMenu.get
PopupMenu
(); fileChooser = new JFileChooser(); } private void setUpEventListener() { // 按下窗口关闭钮事件处理 addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { closeFile(); } } ); //
菜单
- 打开 menuOpen.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(); } } ); //
菜单
- 保存 menuSave.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { saveFile(); } } ); //
菜单
- 另存为 menuSaveAs.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { saveFileAs(); } } ); //
菜单
- 关闭文件 menuClose.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { closeFile(); } } ); //
菜单
- 剪切 menuCut.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { cut(); } } ); //
菜单
- 复制 menuCopy.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { copy(); } } ); //
菜单
- 粘贴 menuPaste.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { paste(); } } ); //
菜单
- 关于 menuAbout.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { //
显示
对话框 JOptionPane.showOptionDialog(null, "程序名称:\n JNotePad \n" + "程序设计:\n \n" + "简介:\n 一个简单的文字编辑器\n" + " 可作为验收Java的实现对象\n" + " 欢迎网友下载研究交流\n\n" + " /", "关于JNotePad", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); } } ); // 编辑区键盘事件 textArea.addKeyListener( new KeyAdapter() { public void keyTyped(KeyEvent e) { processTextArea(); } } ); // 编辑区鼠标事件 textArea.addMouseListener( new MouseAdapter() { public void mouseReleased(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON3)
popUpMenu
.show(editMenu, e.getX(), e.getY()); } public void mouseClicked(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON1)
popUpMenu
.setVisible(false); } } ); } private void openFile() { if(isCurrentFileSaved()) { // 文件是否为保存状态 open(); // 打开 } else { //
显示
对话框 int option = JOptionPane.showConfirmDialog( null, "文件已修改,是否保存?", "保存文件?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null); switch(option) { // 确认文件保存 case JOptionPane.YES_OPTION: saveFile(); // 保存文件 break; // 放弃文件保存 case JOptionPane.NO_OPTION: open(); break; } } } private boolean isCurrentFileSaved() { if(stateBar.getText().equals("未修改")) { return false; } else { return true; } } private void open() { // fileChooser 是 JFileChooser 的实例 //
显示
文件选取的对话框 int option = fileChooser.showDialog(null, null); // 使用者按下确认键 if(option == JFileChooser.APPROVE_OPTION) { try { // 开启选取的文件 BufferedReader buf = new BufferedReader( new FileReader( fileChooser.getSelectedFile())); // 设定文件标题 setTitle(fileChooser.getSelectedFile().toString()); // 清除前一次文件 textArea.setText(""); // 设定状态栏 stateBar.setText("未修改"); // 取得系统相依的换行字符 String lineSeparator = System.getProperty("line.separator"); // 读取文件并附加至文字编辑区 String text; while((text = buf.readLine()) != null) { textArea.append(text); textArea.append(lineSeparator); } buf.close(); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "开启文件失败", JOptionPane.ERROR_MESSAGE); } } } private void saveFile() { // 从标题栏取得文件名称 File file = new File(getTitle()); // 若指定的文件不存在 if(!file.exists()) { // 执行另存为 saveFileAs(); } else { try { // 开启指定的文件 BufferedWriter buf = new BufferedWriter( new FileWriter(file)); // 将文字编辑区的文字写入文件 buf.write(textArea.getText()); buf.close(); // 设定状态栏为未修改 stateBar.setText("未修改"); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "写入文件失败", JOptionPane.ERROR_MESSAGE); } } } private void saveFileAs() { //
显示
文件对话框 int option = fileChooser.showSaveDialog(null); // 如果确认选取文件 if(option == JFileChooser.APPROVE_OPTION) { // 取得选择的文件 File file = fileChooser.getSelectedFile(); // 在标题栏上设定文件名称 setTitle(file.toString()); try { // 建立文件 file.createNewFile(); // 进行文件保存 saveFile(); } catch(IOException e) { JOptionPane.showMessageDialog(null, e.toString(), "无法建立新文件", JOptionPane.ERROR_MESSAGE); } } } private void closeFile() { // 是否已保存文件 if(isCurrentFileSaved()) { // 释放窗口资源,而后关闭程序 dispose(); } else { int option = JOptionPane.showConfirmDialog( null, "文件已修改,是否保存?", "保存文件?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null); switch(option) { case JOptionPane.YES_OPTION: saveFile(); break; case JOptionPane.NO_OPTION: dispose(); } } } private void cut() { textArea.cut(); stateBar.setText("已修改");
popUpMenu
.setVisible(false); } private void copy() { textArea.copy();
popUpMenu
.setVisible(false); } private void paste() { textArea.paste(); stateBar.setText("已修改");
popUpMenu
.setVisible(false); } private void processTextArea() { stateBar.setText("已修改"); } public static void main(String[] args) { new JNotePadUI(); } }
JAVA编程计算器和记事本.rar
//创建File
菜单
menu =new JMenu("文件"); menu.setMnemonic(KeyEvent.VK_F);
menubar
.add(menu); menuItem =new JMenuItem("新建",KeyEvent.VK_N);//创建File子
菜单
menuItem.addActionListener(al); menu.add(menuItem); menuItem =new JMenuItem("打开",KeyEvent.VK_O); menuItem.addActionListener(al); menu.add(menuItem); menuItem =new JMenuItem("保存",KeyEvent.VK_S); menuItem.addActionListener(al); menu.add(menuItem); menuItem =new JMenuItem("另成为",KeyEvent.VK_A); menuItem.addActionListener(al); menu.add(menuItem); menu.add(new JSeparator()); menuItem =new JMenuItem("退出",KeyEvent.VK_E); menuItem.addActionListener(al); menu.add(menuItem); //创建Edit
菜单
menu =new JMenu("编辑"); menu.setMnemonic(KeyEvent.VK_E);
menubar
.add(menu); menuItem =new JMenuItem("剪切");//创建Edit子
菜单
menuItem.addActionListener(al); menu.add(menuItem); menuItem =new JMenuItem("复制",KeyEvent.VK_C); menuItem.addActionListener(al); menu.add(menuItem); menuItem =new JMenuItem("粘贴",KeyEvent.VK_P); menuItem.addActionListener(al); menu.add(menuItem); menu.add(new JSeparator()); menuItem =new JMenuItem("全部选择",KeyEvent.VK_S); menuItem.addActionListener(al); menu.add(menuItem); menu.add(new JSeparator()); menuItem =new JMenuItem("清屏",KeyEvent.VK_S); menuItem.addActionListener(al); menu.add(menuItem); //创建View
菜单
menu =new JMenu("视图"); menu.setMnemonic(KeyEvent.VK_V);
menubar
.add(menu); radioMenuItem =new JRadioButtonMenuItem("自动换行",true);//创建View子
菜单
radioMenuItem.addItemListener(il); menu.add(radioMenuItem); radioMenuItemrow =new JRadioButtonMenuItem("
显示
行数",false); radioMenuItemrow.addItemListener(il); menu.add(radioMenuItemrow); menu.add(new JSeparator()); submenu =new JMenu("字体");//创建字体子
菜单
menu.add(submenu); ButtonGroup group =new ButtonGroup(); radioMenuItem =new JRadioButtonMenuItem("Bold"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Italic"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Plain"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Bold+Italic"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group.add(radioMenuItem); submenu =new JMenu("字体颜色");//创建字体颜色子
菜单
menu.add(submenu); ButtonGroup group1 =new ButtonGroup(); radioMenuItem =new JRadioButtonMenuItem("Black"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Green"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Cyan"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Red"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("LightGray"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Orange"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Pink"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("Yellow"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group1.add(radioMenuItem); submenu =new JMenu("背景颜色");//创建背景颜色子
菜单
menu.add(submenu); ButtonGroup group2 =new ButtonGroup(); radioMenuItem =new JRadioButtonMenuItem("black"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("green"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("cyan"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("red"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("lightGray"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("orange"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("pink"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); radioMenuItem =new JRadioButtonMenuItem("yellow"); radioMenuItem.addItemListener(il); submenu.add(radioMenuItem); group2.add(radioMenuItem); //弹出
菜单
popupmenu
=new J
PopupMenu
(); menuItem =new JMenuItem("新建",KeyEvent.VK_N); menuItem.addActionListener(al);
popupmenu
.add(menuItem);
popupmenu
.add(new JSeparator()); menuItem =new JMenuItem("剪切",KeyEvent.VK_C); menuItem.addActionListener(al);
popupmenu
.add(menuItem); menuItem =new JMenuItem("复制"); menuItem.addActionListener(al);
popupmenu
.add(menuItem); menuItem =new JMenuItem("粘贴",KeyEvent.VK_P); menuItem.addActionListener(al);
popupmenu
.add(menuItem);
popupmenu
.add(new JSeparator()); menuItem =new JMenuItem("全部选择",KeyEvent.VK_S); menuItem.addActionListener(al);
popupmenu
.add(menuItem); //设置文本区域 ta =new JTextArea(500,50); font =new Font("ch",+Font.PLAIN,18); ta.setFont(font); ta.setSelectedTextColor(Color.red); ta.setLineWrap(true); //设置边框滚动条 JScrollPane scrollpanel =new JScrollPane(ta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); frame.getContentPane().add(scrollpanel,"Center"); ta.addMouseListener(ml); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(800,600); frame.setVisible(true); } 李惠竹 实现了各记事本的基本功能 //Eidt事件处理 if(menu.getActionCommand().equals("剪切")){ ta.cut(); } else if(menu.getActionCommand().equals("复制")){ ta.copy(); } else if(menu.getActionCommand().equals("粘贴")){ ta.paste(); } else if(menu.getActionCommand().equals("选择全部")){ ta.selectAll(); } else if(menu.getActionCommand().equals("清屏")){ ta.setText(""); } } }; ItemListener il =new ItemListener(){ public void itemStateChanged(ItemEvent e){ int state =e.getStateChange(); JMenuItem menuItem =(JMenuItem)e.getSource(); //自动换行事件处理 if(menuItem.getActionCommand().equals("自动换行")){ if(state==ItemEvent.SELECTED){ ta.setLineWrap(true); } else { ta.setLineWrap(false); } } //
显示
行数事件处理 else if(menuItem.getActionCommand().equals("
显示
行数")){//
显示
行数 if(state==ItemEvent.SELECTED){ File file =new File("c:\\temp.txt"); int rows =1; try{ FileOutputStream fout =new FileOutputStream(file); OutputStreamWriter out =new OutputStreamWriter(fout); ta.write(out); out.close(); }catch(FileNotFoundException fe){} catch(EOFException fe){} catch(IOException fe){} try{ FileInputStream fin =new FileInputStream(file); InputStreamReader in =new InputStreamReader(fin); BufferedReader reader =new BufferedReader(in); String s=reader.readLine(); ta.setText(rows+" "+s); while((s=reader.readLine())!=null){ rows++; ta.append("\n"+rows+" "+s); } in.close(); }catch(FileNotFoundException fe){} catch(EOFException fe){} catch(IOException fe){} file.delete(); } else { File file =new File("c:\\temp.txt"); try{ FileOutputStream fout =new FileOutputStream(file); OutputStreamWriter out =new OutputStreamWriter(fout); ta.write(out); out.close(); }catch(FileNotFoundException fe){} catch(EOFException fe){} catch(IOException fe){} try{ FileInputStream fin =new FileInputStream(file); InputStreamReader in =new InputStreamReader(fin); BufferedReader reader =new BufferedReader(in); String s1=reader.readLine(); String s2=new String(s1.toCharArray(),6,s1.length()-6); ta.setText(s2); while((s1=reader.readLine())!=null){ s2=new String(s1.toCharArray(),6,s1.length()-6); ta.append("\n"+s2); } in.close(); }catch(FileNotFoundException fe){} catch(EOFException fe){} catch(IOException fe){} file.delete(); } } //字体事件处理 else if(menuItem.getActionCommand().equals("Bold")){ if(state==ItemEvent.SELECTED){ font =new Font("ch",Font.BOLD,18); ta.setFont(font); } else { font =new Font("ch",Font.PLAIN,18); ta.setFont(font); } } else if(menuItem.getActionCommand().equals("Italic")){ if(state==ItemEvent.SELECTED){ font =new Font("ch",Font.ITALIC,18); ta.setFont(font); } else { font =new Font("ch",Font.PLAIN,18); ta.setFont(font); } } else if(menuItem.getActionCommand().equals("Plain")){ if(state==ItemEvent.SELECTED){ font =new Font("ch",Font.PLAIN,18); ta.setFont(font); } else { font =new Font("ch",Font.PLAIN,18); ta.setFont(font); } } else if(menuItem.getActionCommand().equals("Bold+Italic")){ if(state==ItemEvent.SELECTED){ font =new Font("ch",Font.BOLD+Font.ITALIC,18); ta.setFont(font); } else { font =new Font("ch",Font.PLAIN,18); ta.setFont(font); } } //字体颜色事件处理 else if(menuItem.getActionCommand().equals("Black")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.black); } } else if(menuItem.getActionCommand().equals("Green")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.green); } } else if(menuItem.getActionCommand().equals("Cyan")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.cyan); } } else if(menuItem.getActionCommand().equals("Red")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.red); } } else if(menuItem.getActionCommand().equals("LightGray")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.lightGray); } } else if(menuItem.getActionCommand().equals("Orange")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.orange); } } else if(menuItem.getActionCommand().equals("Pink")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.pink); } } else if(menuItem.getActionCommand().equals("Yellow")){ if(state==ItemEvent.SELECTED){ ta.setForeground(Color.yellow); } } //背景颜色事件处理 else if(menuItem.getActionCommand().equals("black")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.black); } } else if(menuItem.getActionCommand().equals("green")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.green); } } else if(menuItem.getActionCommand().equals("cyan")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.cyan); } } else if(menuItem.getActionCommand().equals("red")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.red); } } else if(menuItem.getActionCommand().equals("lightGray")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.lightGray); } } else if(menuItem.getActionCommand().equals("orange")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.orange); } } else if(menuItem.getActionCommand().equals("pink")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.pink); } } else if(menuItem.getActionCommand().equals("yellow")){ if(state==ItemEvent.SELECTED){ ta.setBackground(Color.yellow); } } } };
【Godot4.2】基于
MenuBar
和
PopupMenu
的
菜单
栏生成自定义数据EMBD及其解析
用Godot的
MenuBar
和
PopupMenu
手动创建有复杂结构和设置选项的
菜单
栏总是一件繁琐的事情,用代码形式也无法十分优雅。更好的方式就是选择用数据形式解析和加载,这样我们只需要专注于修改数据,就可以修改实际生成的节点嵌套结构。【2024年3月1日00:50:59】目前只是一个未经实际代码验证的基础思路,所以后续可能会改进或推翻。这与Tree控件自定义树形数据ETD有一定的相似性,又有所区别。因为是用于
MenuBar
的生成,所以全名叫简易
菜单
栏数据。
【Java AWT 图形界面编程】
菜单
组件 ③ (
PopupMenu
菜单
组件实现步骤 | 使用 MouseAdapter 设置事件监听器 | 代码示例 )
一、
菜单
组件示例要点说明 1、创建
MenuBar
菜单
栏组件 2、创建 Menu
菜单
组件 3、创建 MenuItem
菜单
项组件 4、创建 MenuItem
菜单
项组件 之间的分割线 5、创建带
快捷
键的 MenuItem
菜单
项组件 二、代码示例
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章