2016-11-12 7 views
0

setModal()メソッドを呼び出すことができないのはなぜですか?メソッドsetModal(boolean)が見つかりません

私はGUIで作業しています。私は2つのjframesを持っています。次のコードはボタン用で、もう一方のフレームを開くはずです。しかし、私はエラーを取得すると言うこと:

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)); 
    } 

} 
+1

「HR」とは何ですか?この型は 'setModal(boolean)'メソッドを持つべきだと思いますか? – Pshemo

+0

私たちにHRクラスを教えてください –

+1

'setModal'の代わりに貼り付けられたコードに' setModel'がありますか? –

答えて

1

私はGUIで作業する2つのjframesを持っています

アプリケーションには親が1つしかありません。JFrame。他の子ウインドウはJDialogで、フレームを親として指定します。

JDialogは、setModal(...)メソッドを持っています。

JDialogは、JFrameと同じ方法で作成します。

0

JFrameのクラスは何setModal(boolean)メソッドを持っていない方法setModal(boolean)を見つけることができません。.. ドキュメントを参照してくださいhere

したがって、あなたがそのメソッドを呼び出すことはできません、あなたのHRクラスではなく、そのメソッドを定義しておく必要があります...しかし、私は実際にHRクラスはそれを定義されていないアップデートで見る...

+0

ありがとう、 を作成しようとしているようです私は答えを見つけた JFrameではなくJDialogを拡張するはずです –

関連する問題