本文目錄一覽:
- 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 重寫此行為,且在選擇其中一個子項前不向該框架發送任何事件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242673.html