这是我的代码
import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JTextField;import javax.swing.event.MenuEvent;
public class Menu extends JFrame { JMenu optionmenu,insertmenu,querymenu; JMenuBar jmb; JTextField t; Menu() { setLayout(new FlowLayout()); JFrame jf=new JFrame("菜单"); t=new JTextField(10); jmb=new JMenuBar(); optionmenu=new JMenu("菜单选项"); jmb.add(optionmenu); insertmenu=new JMenu("插入信息"); querymenu=new JMenu("修改信息"); optionmenu.add(insertmenu); optionmenu.add(querymenu); add(t); setJMenuBar(jmb); setVisible(true); setBounds(30, 40, 350, 150); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub new Menu();
}
}
程序效果如图,我想点击“插入信息”文本框中出现数字之类的,就是不知道怎么写个菜单监听器,求大神帮我看下,应该怎么改啊
关于java菜单监听的问题
答案:2 mip版
解决时间 2021-04-04 21:49
- 提问者网友:少走感情路
- 2021-04-03 23:08
最佳答案
- 二级知识专家网友:众里寻春风
- 2021-04-04 00:20
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;
public class Menu extends JFrame {
JMenu optionmenu;
JMenuItem insertmenu, querymenu;
JMenuBar jmb;
JTextField t;
Menu() {
setLayout(new FlowLayout());
JFrame jf = new JFrame("菜单");
t = new JTextField(10);
jmb = new JMenuBar();
optionmenu = new JMenu("菜单选项");
jmb.add(optionmenu);
insertmenu = new JMenuItem("插入信息");
// 菜单添加事件
insertmenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Menu.this.t.setText("插入信息菜单");
System.out.println("aaa");
}
});
querymenu = new JMenuItem("修改信息");
// 菜单添加事件
querymenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Menu.this.t.setText("修改信息菜单");
}
});
optionmenu.add(insertmenu);
optionmenu.add(querymenu);
add(t);
setJMenuBar(jmb);
setVisible(true);
setBounds(30, 40, 350, 150);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Menu();
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;
public class Menu extends JFrame {
JMenu optionmenu;
JMenuItem insertmenu, querymenu;
JMenuBar jmb;
JTextField t;
Menu() {
setLayout(new FlowLayout());
JFrame jf = new JFrame("菜单");
t = new JTextField(10);
jmb = new JMenuBar();
optionmenu = new JMenu("菜单选项");
jmb.add(optionmenu);
insertmenu = new JMenuItem("插入信息");
// 菜单添加事件
insertmenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Menu.this.t.setText("插入信息菜单");
System.out.println("aaa");
}
});
querymenu = new JMenuItem("修改信息");
// 菜单添加事件
querymenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Menu.this.t.setText("修改信息菜单");
}
});
optionmenu.add(insertmenu);
optionmenu.add(querymenu);
add(t);
setJMenuBar(jmb);
setVisible(true);
setBounds(30, 40, 350, 150);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Menu();
}
}
全部回答
- 1楼网友:对你在意
- 2021-04-04 01:47
有些错误,主要是事件选择错误,和事件里面没有重新创建button。
import javax.swing.*;
import java.awt.*;
import java.awt.event.actionevent;
import java.awt.event.actionlistener;
public class menuevent extends jframe {
private jpanel panel;
public menuevent() {
jmenubar jmenubar = new jmenubar();
jmenu jmenu = new jmenu("选项");
jmenuitem item1 = new jmenuitem("初级");
jmenuitem item2 = new jmenuitem("中级");
jmenuitem item3 = new jmenuitem("高级");
jmenu.add(item1);
jmenu.addseparator();
jmenu.add(item2);
jmenu.addseparator();
jmenu.add(item3);
jmenubar.add(jmenu);
this.setjmenubar(jmenubar);
this.setdefaultcloseoperation(exit_on_close);
this.setsize(500, 500);
item1.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
initbuttons(10, 10);
}
});
item2.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
initbuttons(15, 15);
}
});
item3.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
initbuttons(20, 20);
}
});
item1.doclick();
}
private void initbuttons(int rows, int cols) {
if (panel != null) {
this.remove(panel);
}
panel = new jpanel();
panel.setlayout(new gridlayout(rows, cols, 2, 2));
for (int i = 0; i < rows * cols; i++) {
panel.add(new jbutton());
}
this.add(panel, borderlayout.center);
this.setvisible(true);
}
public static void main(string[] args) {
new menuevent();
}
}
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯