国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 梁山县| 隆化县| 岐山县| 长丰县| 湖南省| 盘锦市| 元谋县| 乐平市| 遵义县| 隆回县| 新野县| 旬阳县| 汤原县| 佳木斯市| 永丰县| 丁青县| 那曲县| 梧州市| 乐业县| 牟定县| 巴林左旗| 饶阳县| 临高县| 镇江市| 英吉沙县| 眉山市| 女性| 抚顺县| 浦江县| 岳池县| 通城县| 通州区| 宜兴市| 宿州市| 洞口县| 永德县| 临江市| 永新县| 将乐县| 襄城县| 广元市|