2012-04-01 25 views
2

手動でサイズを変更した後にJFrame/JDialogで呼び出されるメソッドを教えてください。 (マウスカーソルを使用してサイズを変更した後、フレームが画面に表示されている間)私は、私がvalidate()またはrevalidate()と呼んでも、私のJDialogが有効ではないことに気づいたが、少しサイズを変更した後、私のフレームは有効になる。Javaのサイズ変更の方法

+2

質問が不明です。 「フレームが有効になる」とはどういう意味ですか?また、あなたがsscceを提供できる場合 –

+1

JDialogを有効にするには、サイズ変更後に有効になるようにしたいと思っています。このスレッドでは、JComponentの検証について調べます:http://stackoverflow.com/questions/8362484/why-cant-i-validate-a-jcomponent – dexametason

+0

vaildになると、frame.isValid()がtrueを返すことを意味します。これがあまりにも曖昧だとは思わない。 – Teo

答えて

1

私はそれがjava.awt.event.ComponentListener

コンポーネントイベントを受け取るためのリスナーインタフェースだと思います。 コンポーネントのサイズ、場所、または可視性が変更されると、リスナーオブジェクト内の関連するメソッド が呼び出され、ComponentEventが に渡されます。例えば

:このコードで

public class MyFrame extends JFrame implements ComponentListener { 

    @Override 
    public void componentResized(ComponentEvent e) { 
     // re compute? 
     repaint(); 
    } 
} 
+0

は必要ありません。通常、必要に応じて自動的に再ペイントされます – kleopatra

0

私は幅、3つのテーブルの高さを変更することができています。

container.addControlListener(new ControlAdapter() { 
      @Override 
      public void controlResized(ControlEvent e) { 
       tableJobs.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20); 
       tableMessages.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20); 
       tableSplfs.setBounds(20, 143,container.getBounds().width-40, container.getBounds().height-20); 
      } 
     }); 
関連する問題