找不到方法setModal(boolean)

时间:2016-11-12 16:07:55

标签: java swing

为什么我不能调用setModal()方法?

我正在开发GUI。我有两个jframes。以下代码用于按钮,应该打开另一个框架。但我得到的错误是:

  

无法找到方法setModal(boolean)

 private void jButton3_actionPerformed(ActionEvent e) 
    {
            HR hr = new HR(); 
            if(f == 1){  // condition
            hr.setModal(true); // give me error here ?
            hr.setVisible(true);    
            }else{
                jLabel5.setText("You aren't connected...");
            }
    }

hr.java

import java.awt.Dimension;

import javax.swing.JFrame;

public class HR extends JFrame {
    public HR() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout( null );
        this.setSize( new Dimension(400, 300) );
    }

}

2 个答案:

答案 0 :(得分:1)

  

我在GUI上工作我有两个jframe

应用程序应该只有一个父JFrame。其他子窗口应为JDialog,并将框架指定为父窗口。

JDialogsetModal(...)方法。

您创建JDialog的方式与创建JFrame的方式相同。

答案 1 :(得分:0)

JFrame 类没有setModal(boolean)方法.. 请参阅文档here

因此你不能调用那个方法,你的 HR 类必须已经定义了那个方法......但我在更新中看到实际上HR类没有定义它...