JAVA的模式對話框和非模式對話框


        周末的時候,一位網友讓我幫他把他的無模式對話框改成有模式對話框。

        界面是由swing制作的,都是JFrame,我從來沒有接觸過swing編程。大致的代碼還是看的懂,很多都和C#很相似。

        然后就去查資料,JAVA的模式對話框是如何調用的。終於查到了需要用到JDialog類,JDialog的構造函數里可以指定是否是模式對話框。

 1  public JDialog(Frame owner, String title, boolean modal) {
 2         super(owner == null? SwingUtilities.getSharedOwnerFrame() : owner, 
 3               title, modal);
 4      if (owner == null) {
 5         WindowListener ownerShutdownListener =
 6         (WindowListener)SwingUtilities.getSharedOwnerFrameShutdownListener();
 7          addWindowListener(ownerShutdownListener);
 8      }
 9         dialogInit();
10     }

        於是建立一個模式對話框很容易,但是怎么把原來的JFrame界面調用,改成模式對話框還是不明白,結果我進入了一個誤區,就是先創建模式對話框,

 然后把Jframe加載進來,結果發現怎么弄,都不行。出去轉了一圈,終於想到JDialog也是JFrame的一種,直接把Jframe改成JDialog不就行了嗎?回來后,

直接改代碼,如下:

 1 //  這里父類由JFrame改成JDialog
 2 public class DataBaseJFrameDlg extends javax.swing.JDialog {
 3 
 4     private JCounterJFrame iframe;
 5 
 6     /** Creates new form DataBaseJFrameDlg */
 7     public DataBaseJFrameDlg(JCounterJFrame pframe) {
 8         // 這里父類的構造方法改成JDialog的
 9         super(pframe, "數據庫管理", true);
10         this.iframe = pframe;
11         initComponents();
12     }
13     ...
14 }

      編譯后,運行,發現問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM