<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    這個代碼來自本人的一個網友所寫,由于可能是初次接觸,寫出來的代碼有些亂,本人做了分析,

    不足之處還請指出,謝謝支持!


    //package gui.con5;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;


    //***********************************************************************************/
    //????????????????????????????????? con1函數類????????????????????????????????????? /
    //***********************************************************************************/

    public class con1 extends JPanel{
    ??
    ?
    ??
    ?? private JPopupMenu popup =new JPopupMenu();??????? //創建JPopupMenu對象,菜單popup

    ?? public con1(){??????????????????????????????????? //該函數用于接收???????????

    ? ActionListener menulistener =new ActionListener()???????? //創建事件監聽
    ?? {

    ???????????? public void actionPerformed(ActionEvent e){????????????? //發生操作時調用?????
    ??????????????????????????
    ?????????????????????????? System.out.println("popup menu item [? "+e.getActionCommand()+" ]被單擊");? //打印接收的命令
    ??????????????????????????????????????????
    ???????????????????????????????????????????? }
    ?? };

    String[] files={"查找","打開新文件","發送郵件","系統設置","退出"};??????????? //創建數組
    JMenuItem item;???????????????????????????????????????????????????????????
    ????????????????????????????????????????????????????????????????????
    for(int i=0;i<files.length;i++){??????????????????????????????????????????????? //這里files.length=5,即循環5次
    ????????????? popup.add(item =new JMenuItem(files[i]));???????????????????????? //將JMenuItem加入popup菜單
    ????????????? item.setHorizontalTextPosition(item.RIGHT);?????????????????????? //設置文字顯示位置,居右
    ????????????? item.addActionListener(menulistener);???????????????????????????? //讓item和menulistener對應起來
    ????????????????????????????? }??????????????????????????????????????????????????????????????????????????????????
    popup.addSeparator();?
    popup.setPopupSize(150,150);??????????????????????????????????????????????????????????????????????????? //彈出與菜單有關的分隔符
    popup.setBorder(new BevelBorder(BevelBorder.RAISED));?????????????????????????? //設置邊框樣式
    popup.addPopupMenuListener( new printlistener());?????????????????????????? //導入菜單監聽

    //******************************************************本人加入部分

    con1.this.addMouseListener(new mouselistener());?????????????????????????????????????? //導入鼠標監聽

    //******************************************************
    }

    //***********************************************************************************/

    ?


    //***********************************************************************************/
    //??????????????? 這兩個函數將被后面的con1函數類調用?????????????????????????????? /
    //***********************************************************************************/
    class printlistener implements PopupMenuListener{???????? //創建監聽菜單
    ?
    ??????????????????? public void popupMenuCanceled(PopupMenuEvent e){
    ???????????????????????????????????????????????????? System.out.println("彈出菜單被隱藏:");
    ??????????????????????????????????????????????????????????????????? }
    ??????????????????? public void popupMenuWillBecomeInvisible(PopupMenuEvent e){
    ???????????????????????????????????????????????????? System.out.println("彈出菜單不可見:");
    ??????????????????????????????????????????????????????????????????? }
    ??????????????????? public void popupMenuWillBecomeVisible(PopupMenuEvent e){
    ?????????????????????????????????????????????????? System.out.println("彈出菜單被激活:");
    ??????????????????????????????????????????????????????????????????? }
    }


    class mouselistener extends MouseAdapter???????????????????????????? //鼠標監聽函數
    {????????????????????????????????????????????????????????????????? //捕獲鼠標各種行為
    ??????? public void mouseClicked(MouseEvent e){?
    ???????????????????????????????????????????????? check(e);}??????????? //單擊
    ??????? public void mouseEntered(MouseEvent e){ check(e);}??????????? //鼠標進入到組件(進入菜單)
    ??????? public void mouseExited(MouseEvent e){ check(e);}????????????? //鼠標離開組件
    ??????? public void mousePressed(MouseEvent e){ check(e);}???????????? // 鼠標在組件上按下
    ??????? public void mouseReleased(MouseEvent e){ check(e);}??????????? //鼠標按鈕在組件上釋放
    ??????? private void check(MouseEvent e){
    ?????????????????????????? if(e.isPopupTrigger()){
    ??????????????????????????????????????? popup.show(con1.this,e.getX(),e.getY()); //在指定位置顯示右鍵彈出菜單
    ??????????????????????????????
    ???????????????????????????????????????????????? }
    ???????????????????????????????????????? }
    ???
    }


    //***********************************************************************************/

    ?

    //***********************************************************************************/
    //???????????????????????????????? 主函數??????????????????????????????????????????? /
    //***********************************************************************************/


    public static void main(String[] args){
    ?????????????????????
    ??????????????????
    ???????????????????? JFrame frame =new JFrame("菜單演示");?????????????????????? //創建JFrame名字菜單演示
    ????????????????????
    ??????????????????????? frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);?????? //返回用戶在此窗體上發起 "close" 時
    ??????????????????????????????????????????????????????????????????????????????????? //執行的操作, 關閉 JFrame???????????????????????

    ????????????????????????????????? frame.setContentPane(new con1());?????????????????????????? //在窗體上添加面板類con1(菜單)
    ??????????????????????????????
    ??????????????????????? frame.setSize(300,300);????????????????????????????????????? //窗口大小300*300
    ??????????????????????????????
    ??????????????????????? frame.setVisible(true);????????????????????????????????????? //激活控件
    ????????????????????????????
    ?????????????????????????????????????? }

    //***********************************************************************************/



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-02-25 09:39 小尋 閱讀(691) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
    主站蜘蛛池模板: 日韩免费高清播放器| 亚洲综合一区二区精品久久| 亚洲国产成人久久一区久久| 亚洲一区二区成人| 国产产在线精品亚洲AAVV| 成全视频在线观看免费| 久久国产成人亚洲精品影院| 国产精品高清视亚洲精品| 国产一区二区三区免费观在线| 毛片网站免费在线观看| 亚洲日本一区二区三区| 香蕉国产在线观看免费| 在线观看国产情趣免费视频| 久久亚洲精品成人无码网站| 国产日韩久久免费影院| 国产免费资源高清小视频在线观看| 亚洲精品视频在线免费| 国产在线观看免费观看不卡| 4444亚洲国产成人精品| 日韩版码免费福利视频| 亚洲AV色无码乱码在线观看| 成年在线观看网站免费| 亚洲成aⅴ人片在线观| 无码av免费网站| 国产亚洲一区二区在线观看| 国产免费福利体检区久久| 久久精品亚洲一区二区| 久久国产免费一区二区三区| 国产亚洲成人久久| 久草免费福利视频| 亚洲va在线va天堂va四虎| 国内永久免费crm系统z在线 | 亚洲午夜成激人情在线影院| 13小箩利洗澡无码视频网站免费| 91亚洲国产在人线播放午夜 | 中文字幕亚洲综合久久| 在线观看免费成人| 亚洲日韩国产一区二区三区在线| 最近高清中文字幕无吗免费看| 亚洲黄网站wwwwww| 四虎永久成人免费影院域名|