「java菜单事件」java菜单组件

博主:adminadmin 2023-03-23 01:18:06 513

本篇文章给大家谈谈java菜单事件,以及java菜单组件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA,如何使下拉菜单被点击后触发事件

你可以给大菜单一个BOOL

bL变量,再给要选择的小菜单一个BOOL

bs变量,

如果bl

==

TRUE

bs

==

TRUE,那就是点击了,如果bl

==

TRUE

bs

==

FALSE

,就是没有点击。

或者你试试这个:给想监视的菜单添加ON_UPDATE_COMMAND_UI命令,如果它被点击了,则会有一些操作在这里执行

java的菜单响应事件要怎么写

有点没看明白。。。。

菜单的事件监听和按钮是一样的,按钮怎么写菜单项就怎么写。

另外我看第一个截图,你的菜单添加事件监听是用内部类这样的写法,那和第二张图片里的implements ActionListener没有什么关系呀?!另外当点击菜单以后会新建一个ShowAllStudents对象,因为这个类继承JFrame,可能在构造方法里有setVisible(true);所以会显示出来,这是从没有JFrame对象到创建JFrame对象的过程,如果你JFrame已经有了的话就直接setVisible()就可以控制那个JFrame是否显示了。

还有就是在actionPerformed()方法里用e.getSource()可以获取消息源,你如果想知道是不是queryAllMenu被点击的话可以在actionPerformed()里加if(e.getSource == queryAllMenu),不过因为它们可能是在2个不同的类里,所以写actionPerformed()的类不一定能看到queryAllMenu,这就自己想办法吧,你可以一个类里有另外一个类的引用,或者((JMenuItem)e.getSource()).getText().equals(XXXX).....

额。。。追问吧。。。。。

JAVA popupMenu弹出菜单了,怎样实现点击项产生事件

在java.awt包中有两个类可以用于弹出式菜单,PopupMenu(弹出式菜单),MenuItem(菜单项),

在 java.awt.event 包的MouseListener与MouseEvent 可用于鼠标事件

下面是代码(是从别的地方借用过来的,删除了一些与此问题无关的内容):

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class PopupMenuDemo extends JFrame implements ActionListener

{

JButton btnTest=new JButton("Test");

JTextArea textArea=new JTextArea();

PopupMenu pMenu=new PopupMenu(); //创建弹出式菜单,下面三项是菜单项

MenuItem mItemCopy=new MenuItem("复制");

MenuItem mItemPaste=new MenuItem("粘贴");

MenuItem mItemCut=new MenuItem("剪切");

MouseAdapter mouseAdapter=new MouseAdapter()//监听鼠标事件

{

public void mouseClicked(MouseEvent event)

{

if(event.getButton()==MouseEvent.BUTTON3)//只响应鼠标右键单击事件

{

pMenu.show(textArea,event.getX(),event.getY());//在鼠标位置显示弹出式菜单

}

}

};

ActionListener menuAction=new ActionListener()//响应单击菜单项的事件,只是示例,

{//具体内容可自己编写

public void actionPerformed(ActionEvent e)

{

MenuItem item=(MenuItem)e.getSource();

if(item==mItemCopy) //单击了“复制”菜单项

{

JOptionPane.showMessageDialog(null,"复制");

}

else if(item==mItemPaste) //“粘贴”菜单项

{

JOptionPane.showMessageDialog(null,"粘贴");

}

else

{

JOptionPane.showMessageDialog(null,"剪切"); //“剪切”菜单项

}

}

};

public PopupMenuDemo()

{

setTitle("Test");

setSize(300,300);

setResizable(false);

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

add(btnTest,BorderLayout.NORTH);

add(textArea,BorderLayout.CENTER);

textArea.add(pMenu); //弹出式菜单加入到文本框中,否则不能显示

textArea.addMouseListener(mouseAdapter); //文本框加入鼠标监听器

pMenu.add(mItemCopy); //菜单项的单击事件监听器

mItemCopy.addActionListener(menuAction);

pMenu.add(mItemPaste);

mItemPaste.addActionListener(menuAction);

pMenu.add(mItemCut);

mItemCut.addActionListener(menuAction);

btnTest.addActionListener(this);

}

public static void main(String... args)

{

new PopupMenuDemo().setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

JOptionPane.showMessageDialog(null,"测试功能");

}

}

java菜单条点击事件

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyMenu extends JFrame{

JMenuBar jmbar=new JMenuBar();

JMenu jmenu=new JMenu("颜色");

JMenuItem jmt1=new JMenuItem("红色"),

jmt2=new JMenuItem("黄色"),

jmt3=new JMenuItem("蓝色");

JPanel jp=new JPanel();

MyMenu(){

setTitle("菜单测试");

setSize(400,300);

setJMenuBar(jmbar);

jmbar.add(jmenu);

jmenu.add(jmt1);

jmenu.add(jmt2);

jmenu.add(jmt3);

add(jp);

jmt1.addActionListener(new MenuAction(this));

jmt2.addActionListener(new MenuAction(this));

jmt3.addActionListener(new MenuAction(this));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

new MyMenu();

}

}

class MenuAction implements ActionListener{

MyMenu m;

MenuAction(MyMenu m){

this.m=m;

}

public void actionPerformed(ActionEvent e){

String color=e.getActionCommand();

if(color=="红色")m.jp.setBackground(Color.red);

else if(color=="黄色")m.jp.setBackground(Color.yellow);

else if(color=="蓝色")m.jp.setBackground(Color.blue);

}

}

java菜单事件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java菜单组件、java菜单事件的信息别忘了在本站进行查找喔。