A. 如何在java中實現右鍵彈出式菜單
public
void
mouseReleased(MouseEvent
e)
{
if(e.getButton()
==
MouseEvent.BUTTON3)//點擊右鍵
popUpMenu.show(editMenu,
e.getX(),
e.getY());
//popUpMenu是一個JPopupMenu
editMenu是一個JMenu
//e.getX(),
e.getY()是獲得滑鼠點擊的坐標
在點擊的地方回彈出一個
editMenu,editMenu中的
內容自己答添加
}
public
void
mouseClicked(MouseEvent
e)
{
if(e.getButton()
==
MouseEvent.BUTTON1)//點擊滑鼠左鍵
popUpMenu.setVisible(false);//彈出菜單消失
}
B. java文本域中怎麼添加滑鼠右鍵單擊事件
處理滑鼠右鍵
public mouseClicked(MouseEvent e){
if(e.isMetaDown()){//檢測滑鼠右鍵單擊
}
滑鼠處理事件寫到那個里邊就行了
C. java中控制滑鼠點擊的方法
//利用 java.awt.Robot 類來自動完成一些鍵盤或滑鼠的動作,下面是一個小例子
//程序流程:模擬滑鼠左鍵點擊 開始-->運行-->CMD-->DIR-->CLS-->EXIT
//模擬右鍵點擊 移動到右下角-->右鍵點擊-->調整日期和時間-->退出
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
//Test.java
public class Test {
public static void main(String[] args) throws Exception {
final Robot rb = new Robot();
new Thread(){
public void run(){
rb.delay(2000);
//回車
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
}
}.start();
JOptionPane.showMessageDialog(null,"以下程序自動執行,包括本對話框,請不必進行人為干預.\n如果不能正常執行程序,請先關閉輸入法");
//設置開始菜單的大概位置
int x = 40;
int y = Toolkit.getDefaultToolkit().getScreenSize().height-10;
//滑鼠移動到開始菜單,
rb.mouseMove(x,y);
rb.delay(500);
//單擊三次開始菜單
for(int i=0; i<3; i++)
pressMouse(rb,InputEvent.BUTTON1_MASK,500);
rb.delay(1000);
//運行CMD命令 r cmd enter
int[] ks = {KeyEvent.VK_R,KeyEvent.VK_C,KeyEvent.VK_M,KeyEvent.VK_D,KeyEvent.VK_ENTER,};
pressKeys(rb,ks,500);
rb.mouseMove(400,400);
rb.delay(500);
//運行DIR命令 dir enter
ks = new int[]{KeyEvent.VK_D,KeyEvent.VK_I,KeyEvent.VK_R,KeyEvent.VK_ENTER};
pressKeys(rb,ks,500);
rb.delay(1000);
//運行CLS命令 cls enter
ks = new int[]{KeyEvent.VK_C,KeyEvent.VK_L,KeyEvent.VK_S,KeyEvent.VK_ENTER};
pressKeys(rb,ks,500);
rb.delay(1000);
//運行EXIT命令 exit enter
ks = new int[]{KeyEvent.VK_E,KeyEvent.VK_X,KeyEvent.VK_I,KeyEvent.VK_T,KeyEvent.VK_ENTER};
pressKeys(rb,ks,500);
rb.delay(1000);
//右鍵測試
x=Toolkit.getDefaultToolkit().getScreenSize().width-10;
rb.mouseMove(x, y);
//如果是雙鍵滑鼠,請改用InputEvent.BUTTON2_MASK試試,我沒有這種滑鼠
pressMouse(rb,InputEvent.BUTTON3_MASK,500);
//顯示日期調整對話框 a
pressKeys(rb,new int[]{KeyEvent.VK_A},1000);
rb.delay(2000);
pressKeys(rb,new int[]{KeyEvent.VK_ESCAPE},0);
rb.delay(1000);
new Thread(){
public void run(){
rb.delay(1000);
//回車
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
}
}.start();
JOptionPane.showMessageDialog(null,"演示完畢!");
}
//滑鼠單擊,要雙擊就連續調用
private static void pressMouse(Robot r,int m,int delay){
r.mousePress(m);
r.delay(10);
r.mouseRelease(m);
r.delay(delay);
}
//鍵盤輸入
private static void pressKeys(Robot r,int[] ks,int delay){
for(int i=0; i<ks.length; i++){
r.keyPress(ks[i]);
r.delay(10);
r.keyRelease(ks[i]);
r.delay(delay);
}
}
}
D. java文本框,點擊右鍵,產生右鍵事件,出現彈出式菜單,三個菜單選項(復制,粘貼,剪切)
在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,"測試功能");
}
}
E. java中滑鼠右擊彈出菜單怎樣實現
簡單的實現代碼如下:
importjava.awt.MenuBar;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjavax.swing.JFrame;
importjavax.swing.JPopupMenu;
/*
*java中滑鼠右擊彈出菜單怎樣實現
*/
publicclassDemo{
publicstaticvoidmain(String[]args){
finalJFramejf=newJFrame("窗體");
jf.setSize(300,300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLocationRelativeTo(null);
//創建彈出菜單
finalJPopupMenujp=newJPopupMenu();
jp.add("紅色");
jp.add("藍色");
jf.addMouseListener(newMouseAdapter(){
@Override
publicvoidmouseClicked(MouseEvente){
if(e.getButton()==MouseEvent.BUTTON3){
//彈出菜單
jp.show(jf,e.getX(),e.getY());
}
}
});
jf.setVisible(true);
}
}
F. eclipse 插件開發 右鍵菜單上添加新功能
在eclipse上如何添加菜單步驟:
1、建立工程
新建eclipse插件工程
Submenu Name:這個是指定你要顯示的菜單在右鍵彈出後的名稱,我們起名叫「構建系統」。
Action Label:這個指定了顯示的子菜單的名稱,這里修改為「模板構建」。
Java Package Name:這里指定了點畝灶棚擊模板構建後的處理類的包名,使用默認。
Action Class:這個是處理類的名稱,改為TemplateAddAction。
Action is enabled for:表示選擇的是單選還是多選,這里用默認。
點擊完成。
最後:
Eclipse的資源API
工作空間、項目、文件夾、文件對應的類型介面分別為IWorkspace、IProject、IFolder、IFile。資源相關
的介面都繼承了IResource介面,由於工作空間並不只是資源的管理者,因此IWorkspace並沒有繼承IResource
介面,為了將工作空間作為資源的管理者這一功能體迅則現出來,抽象出了IWorkspaceRoot 的介面(即工作空間
根目錄),通過IWorkspace的getRoot 就可以得到對應的工作空間根目錄。由於工作空間根目錄、項目、文件
夾都是可以容納其他資源的,因此為它們抽取了一個基類介面IContainer。
類的層次結構圖如下: