zoukankan      html  css  js  c++  java
  • 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 }

          编译后,运行,发现问题解决。

    高山流水,海纳百川!
  • 相关阅读:
    js深拷贝和浅拷贝
    Entity Framework在WCF中序列化的问题
    EF Code First学习笔记:数据库创建
    Entity Framework Code First级联删除
    EF Code First 学习笔记:表映射
    Func与Action
    jsp/servlet页面跳转丢失样式问题
    Tomcat中配置URIEncoding="UTF-8"来处理中文的方法
    Android studio 自动导入(全部)包 import
    LInux系统配置
  • 原文地址:https://www.cnblogs.com/ahcc08/p/3694776.html
Copyright © 2011-2022 走看看