「java点击菜单产生事件」java菜单项事件

博主:adminadmin 2022-11-29 13:30:09 68

今天给各位分享java点击菜单产生事件的知识,其中也会对java菜单项事件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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,如何使下拉菜单被点击后触发事件

编程时候不能把东西都写在main里面。。习惯不好,main里只要Sine s = new Sine("Sine curve"); 这句就够了,其他都放在constructor里。

如果在你这基础上改的话,重新绘图是不用main的,要用Cavans里面的repaint(),把MyCanvas cnv= new MyCanvas( )的cnv设为Sine的一个member

。在MyCavans里面新加一个member String s ;s代表“sin”“cos”“tan”,根据s的不同paint()里面添加 if else

在itemStateChanged,把event得出的string 然后 cnv.setS(String s);cnv.repaint();

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点击菜单产生事件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java菜单项事件、java点击菜单产生事件的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。