国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置

2019-11-18 15:36:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

關(guān)于 Modal 窗體

    在 Swing 中只有 JDialog 可以設(shè)置為 Modal 窗體,其方法可以在構(gòu)造函數(shù)(例如“JDialog(Frame owner, boolean modal)”)中傳參數(shù),也可以用 setModal(boolean b) 方法設(shè)定,

這個(gè)方法是從 Dialog 類(lèi)繼續(xù)的。

    在 JFrame 類(lèi)中,無(wú)法通過(guò)如 JDialog 的方法設(shè)置 Modal 窗體,在 CSDN 有朋友嘗試通過(guò)在 windowDeiconified() 時(shí) requestFocus() 來(lái)模擬 Modal 窗體,代碼如下:


Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖一)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖二)public class MyModalFrame extends JFrame implements WindowListener ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)    PRivate JFrame frame = null;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)    private boolean modal = false;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)    private String title = null;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public MyModalFrame() ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this(null, false);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public MyModalFrame(JFrame frame) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this(frame, false);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public MyModalFrame(JFrame frame, boolean modal) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this(frame, modal, "");
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public MyModalFrame(JFrame frame, boolean modal, String title) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        super(title);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this.frame = frame;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this.modal = modal;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this.title = title;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this.init();
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    private void init() ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        if(modal)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)            frame.setEnabled(false);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        this.addWindowListener(this);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowOpened(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowClosing(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        if(modal)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)            frame.setEnabled(true);
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowClosed(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowIconified(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowDeiconified(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowActivated(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖四)Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖五)    public void windowDeactivated(WindowEvent windowEvent) ...{
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)        if(modal)
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖三)            this.requestFocus();
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖六)    }
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖七)}

關(guān)于窗體啟動(dòng)位置

    有時(shí)候想要讓窗體啟動(dòng)后在屏幕中間啟動(dòng),有種比較復(fù)雜的方法:

Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)Dimension size = frame.getSize();
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)int x = (screenSize.width - size.width) / 2;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)int y = (screenSize.height - size.height) / 2;
Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)frame.setLocation( x, y );

    在 java 1.4 版之后可以用一條語(yǔ)句代替:

Swing 中設(shè)置模態(tài)窗體和啟動(dòng)位置(圖八)frame.setLocationRelativeTo(null);



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鸡泽县| 聂拉木县| 蕉岭县| 烟台市| 开远市| 天全县| 岳普湖县| 新泰市| 什邡市| 龙胜| 长治县| 平邑县| 汕尾市| 通化市| 高密市| 陇南市| 万宁市| 扬州市| 新民市| 阆中市| 无为县| 乐山市| 高邑县| 岑溪市| 乌鲁木齐市| 密山市| 莱芜市| 金山区| 北宁市| 绍兴市| 丰城市| 株洲县| 灌南县| 朝阳市| 牡丹江市| 张家口市| 丽水市| 扬州市| 浙江省| 嘉黎县| 临沧市|