?? applet1.java
字號:
/*
編寫三個彈出式菜單。要求:
如果按<Ctrl>鍵,點擊鼠標右鍵彈出[字號]菜單。
如果按<Shift>鍵,點擊鼠標右鍵彈出[命令]菜單。
否則,點擊鼠標右鍵彈出[編輯]菜單。
其中字號里內(nèi)容是
───────
字號菜單
20號
30號
40號
50號
───────
其中命令里內(nèi)容是
───────
命令菜單
打開
保存
打印
退出
───────
其中編輯里內(nèi)容是
───────
編輯菜單
復(fù)制
剪切
粘貼
刪除
───────
*/
import javax.swing.*; //javax.swing.*這個包沒有的話可以去網(wǎng)上找一下!
import java.awt.event.*;
class Test extends JFrame
/*
這里我用了J組件,J2中有,老師的機子如果支持就好了!
如果不支持,可以導(dǎo)入JAVAHOME.JAVA\lib文件!
除了J組件外其他的事件與方法都和老師講的一樣!
請老師指正!
*/
{
JPopupMenu p1,p2,p3;
JMenuItem m11,m12,m13,m14,m21,m22,m23,m24,m31,m32,m33,m34;
//boolean值表示 CTRL 鍵是否按下。
private boolean isCtrlPressing=false;
//boolean值表示 SHIFT 鍵是否按下。
private boolean isShiftPressing=false;
//構(gòu)造方法,初始化本類。
public Test()
{
ini();
addKeyListener(new MyKeyListener());
addMouseListener(new MyMouseListener());
setTitle("菜單彈出事件");
setSize(500,400);
setVisible(true);
}
//初始化組件。
public void ini()
{
p1=new JPopupMenu();
p2=new JPopupMenu();
p3=new JPopupMenu();
m11=new JMenuItem("20號");
m12=new JMenuItem("30號");
m13=new JMenuItem("40號");
m14=new JMenuItem("50號");
m21=new JMenuItem("打開");
m22=new JMenuItem("保存");
m23=new JMenuItem("打印");
m24=new JMenuItem("退出");
m31=new JMenuItem("復(fù)制");
m32=new JMenuItem("剪切");
m33=new JMenuItem("粘貼");
m34=new JMenuItem("刪除");
p1.add(new JLabel("字號菜單"));
p1.addSeparator();
p1.add(m11);
p1.add(m12);
p1.add(m13);
p1.add(m14);
p2.add(new JLabel("命令菜單"));
p2.addSeparator();
p2.add(m21);
p2.add(m22);
p2.add(m23);
p2.add(m24);
p3.add(new JLabel("編輯菜單"));
p3.addSeparator();
p3.add(m31);
p3.add(m32);
p3.add(m33);
p3.add(m34);
}
public static void main(String args[])
{
Test test=new Test();
}
//鍵盤監(jiān)聽器。
class MyKeyListener extends KeyAdapter
{
public MyKeyListener(){}
public void keyPressed(KeyEvent e)
{
//Ctrl鍵按下。
if(e.getKeyCode()==KeyEvent.VK_CONTROL)
{
isCtrlPressing=true;
}
//Shift鍵按下。
if(e.getKeyCode()==KeyEvent.VK_SHIFT)
{
isShiftPressing=true;
}
}
}
//鼠標監(jiān)聽器。
class MyMouseListener extends MouseAdapter
{
public MyMouseListener(){}
//鼠標按下事件。
public void mousePressed(MouseEvent e)
{
showWhich(e);
}
private void showWhich(MouseEvent e)
{
//鼠標右鍵按下。
if(e.getButton()==MouseEvent.BUTTON3)
{
if(isCtrlPressing)
{
p1.show(e.getComponent(),e.getX(),e.getY());
isCtrlPressing=false;
}
else if(isShiftPressing)
{
p2.show(e.getComponent(),e.getX(),e.getY());
isShiftPressing=false;
}
else
p3.show(e.getComponent(),e.getX(),e.getY());
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -