本文目录一览:
- 1、JAVA,如何使下拉菜单被点击后触发事件
- 2、JAVA popupMenu弹出菜单了,怎样实现点击项产生事件
- 3、java中的菜单项怎么写事件代码
- 4、java选择菜单项事件,将程序输出在DOS窗口的结果显示在文本区
- 5、java中,JComboBox下拉框选项事件。不同选项触发不同事件?
- 6、java.awt.Menu 的事件处理?
JAVA,如何使下拉菜单被点击后触发事件
你可以给大菜单一个BOOL
bL变量,再给要选择的小菜单一个BOOL
bs变量,
如果bl
==
TRUE
bs
==
TRUE,那就是点击了,如果bl
==
TRUE
bs
==
FALSE
,就是没有点击。
或者你试试这个:给想监视的菜单添加ON_UPDATE_COMMAND_UI命令,如果它被点击了,则会有一些操作在这里执行
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选择菜单项事件,将程序输出在DOS窗口的结果显示在文本区
已修改,复制粘贴即可
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.JTextArea;
public class windowmenu extends JFrame
{
JMenuBar menubar;
JMenu menu;
JMenuItem item1, item2, item3, item4;
JTextArea textshow;
PoliceListen listener;
public windowmenu ()
{
init ();
menubar.add (menu);
setJMenuBar (menubar);
setSize (400, 400);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setVisible (true);
}
void init ()
{
menubar = new JMenuBar ();
menu = new JMenu ("routine");
item1 = new JMenuItem ("程序1");
item2 = new JMenuItem ("程序2");
item3 = new JMenuItem ("程序3");
item4 = new JMenuItem ("程序4");
menu.add (item1);
menu.add (item2);
menu.add (item3);
menu.add (item4);
listener = new PoliceListen ();
item1.addActionListener (listener);
item2.addActionListener (listener);
item3.addActionListener (listener);
item4.addActionListener (listener);
textshow = new JTextArea ("【请打开菜单】");
add (textshow);
}
public static void main ( String[] args )
{
new windowmenu ();
}
}
class PoliceListen implements ActionListener
{
@Override
public void actionPerformed ( ActionEvent e )
{}
}
java中,JComboBox下拉框选项事件。不同选项触发不同事件?
JComboBox jComboBox = new JComboBox(new Object[]{"选项1","选项2","选项3"});
panel.add(jComboBox);
jComboBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent itemEvent) {
if(itemEvent.getStateChange()==1){
if(itemEvent.getItem()=="选项1"){
System.out.println("选项1输出");
}else if(itemEvent.getItem()=="选项2"){
System.out.println("选项2输出");
}{
}
}
}
});
java.awt.Menu 的事件处理?
Menu没法这么用
它是MenuItem的子类
在API中MenuItem的说明:
选择菜单项时,AWT 发送一个动作事件到该菜单项。由于该事件是一个 ActionEvent 实例,processEvent 方法会检查该事件,并将它传递到 processActionEvent。后一方法将该事件重定向到任何 ActionListener对象,该对象已在由此菜单项生成的动作事件中注册权益。
注意,子类 Menu 重写此行为,且在选择其中一个子项前不向该框架发送任何事件。