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

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

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

    迷你大刀(JFrame迷你化)

    半夜1點了 廢話不多說

    效果圖:    雙擊以后

    思路其實很簡單...代碼也很少..我也加了少量的注釋..看不懂的話..加QQ群..教你

    package MiniMizeHack;

    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;

    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;

    public class MiniMize implements MouseListener, ActionListener {

        
    public JFrame frame;
        
    public JPanel panel;
        
    public JPopupMenu popup;

        
    public JMenuBar menubar;
        
    public JLabel top;
        
    public JLabel bottom;

        
    public MiniMize( ) {
            top 
    = new JLabel(new ImageIcon("Image/b3.gif"));
            bottom 
    = new JLabel("More configuration here");

            frame 
    = new JFrame("Mini Mize");
            panel 
    = new JPanel( );
            panel.setLayout(
    new BorderLayout( ));
            panel.add(
    "North",top);
            panel.addMouseListener(
    this);
            frame.getContentPane().add(panel);
            frame.addMouseListener(
    this);

            menubar 
    = new JMenuBar( );
            JMenu menu 
    = new JMenu("File");
            menu.add(
    new JMenuItem("Open"));
            menu.add(
    new JMenuItem("Quit"));
            menubar.add(menu);

            JMenu window 
    = new JMenu("Window");
            JMenuItem mini 
    = new JMenuItem("Minimize");
      
    //      mini.addActionListener(this);
            window.add(mini);
            menubar.add(window);
            frame.setJMenuBar(menubar);

            popup 
    = new JPopupMenu( );
            JMenuItem restore 
    = new JMenuItem("Restore");
      
    //      restore.addActionListener(this);
            popup.add(restore);
        }


        
    public void mousePressed(MouseEvent e) {
            maybeShowPopup(e);
        }


        
    public void mouseReleased(MouseEvent e) {
            maybeShowPopup(e);
        }

        
    public void mouseExited(MouseEvent e) { }
        
    public void mouseEntered(MouseEvent e) { }
        
    public void mouseClicked(MouseEvent e) 
            
    //=1 就是單擊  =2 就是雙擊
            if(e.getClickCount()==1){
                
            }

            
    if(e.getClickCount()==2){
                
    //判斷bottom是否顯示(廢話);
                if(bottom.isVisible()) {
            
    //        方法調用
                      switchToMini();
                   }
     else {
                       switchToNormal();
                   }

            }

        }

        
        
    private void maybeShowPopup(MouseEvent e) {
            
            
    if (e.isPopupTrigger()) {
                popup.show(e.getComponent( ),
                           e.getX(), e.getY());
            }


        }

        
    public void actionPerformed(ActionEvent evt) {
           
        }

        
    private Dimension normal_size;
        
        
    public void switchToMini( ) {
            
            Point location 
    = frame.getLocation( );
            
    //這個獲得frame的Dimension給normal_size(
            
    //我感覺這樣的變量名我不用解釋)一看就懂..(嘿嘿^v^);
            normal_size = frame.getSize( );
            frame.setVisible(
    false);
            frame 
    = new JFrame( );
            frame.setUndecorated(
    true);
            frame.getContentPane( ).add(panel);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            bottom.hide( );
            frame.setAlwaysOnTop(
    true);

            
    // 顯示frame 最近越來越喜歡frame.pack();了
            frame.pack( );
            frame.setLocation(location);
            frame.setVisible(
    true);

        }

        
    public void switchToNormal() {
            
    //這方法的代碼 跟SwitchToMini大體一樣..自己應該能理解
            Point location = frame.getLocation( );
            frame.setVisible(
    false);
            frame 
    = new JFrame( );
            frame.setUndecorated(
    false);
            frame.getContentPane( ).add(panel);
            
            bottom.show();
            frame.setJMenuBar(menubar);
            frame.setAlwaysOnTop(
    false);

            frame.pack();
            frame.setSize(normal_size);
            frame.setLocation(location);
            frame.setVisible(
    true);
        }

        
    public static void main(String[] args) {
            MiniMize mini 
    = new MiniMize( );
            mini.frame.pack( );
            mini.frame.setSize(
    300,300);
            mini.frame.setVisible(
    true);
        }

    }


    posted on 2008-05-30 01:12 相信 閱讀(735) 評論(1)  編輯  收藏 所屬分類: Swing文章

    評論

    # re: 迷你大刀(JFrame迷你化) 2008-05-30 02:37 晴天

    // 顯示frame 最近越來越喜歡frame.pack();了

    我一般是寫一個靜態類,然后傳幾個參數進去,隨便弄個窗體出來的,代碼重用的.
    沒那么多時間每次寫顯示Jframe那幾行代碼啊....還要玩游戲呢~~  回復  更多評論   

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久久毛片免费播放| 特黄aa级毛片免费视频播放| 在线视频网址免费播放| 免费人成网站7777视频| 一级女性全黄久久生活片免费| 国产又粗又猛又爽又黄的免费视频| 亚洲AV日韩AV无码污污网站| 午夜爱爱免费视频| 国产亚洲午夜精品| 亚洲视频在线不卡| 69国产精品视频免费| 亚洲乱码中文论理电影| 女人让男人免费桶爽30分钟| 亚洲国产av玩弄放荡人妇| 亚洲成a人片在线观看国产| eeuss影院www天堂免费| 亚洲AV成人一区二区三区AV| 成人福利免费视频| 中文字幕无码精品亚洲资源网久久| 亚洲第一成年免费网站| 国产精品无码亚洲精品2021 | 日本人成在线视频免费播放| 亚洲视频在线视频| 成人无遮挡裸免费视频在线观看| 亚洲av片在线观看| 亚洲AV成人精品网站在线播放| 免费三级毛片电影片| 国产成人精品久久亚洲高清不卡 | 国产黄色一级毛片亚洲黄片大全| 999zyz**站免费毛片| 亚洲视频日韩视频| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲色欲色欲www在线丝 | 国产精品亚洲一区二区三区在线观看 | 美女无遮挡拍拍拍免费视频 | 国产亚洲午夜高清国产拍精品| 99久久免费精品高清特色大片| 亚洲综合一区二区三区四区五区| 亚洲精品国产精品国自产观看| 99精品一区二区免费视频| 精品亚洲福利一区二区|