私は、私は今LoginListenerと呼ばれるのactionListenerクラスにこのフレームを渡す必要があるが、私にそれを行うために、変数JFrameを通過するJavaは受け入れ可能ですか?
JFrame frame = this;
に割り当てる...
をJFrameのを拡張するクラスを持っています> applogと - だから、それはフレームを拡張するこの
クラスのようなものだ
ことがJPanelのを拡張し、このクラスがLoginListenerのインスタンス(情報、サインイン、フレーム)を持つファーストクラスのAppLoginComponentsにそれを渡す必要がありますinComponents - > LoginListener
私がこれをやっているのは、ユーザーが2分以内にログインしていなければ、LoginListenerはアプリケーションを終了する必要があるからです。私はフレームを処分するつもりです。私は静的変数は理想的ではないと思いますか?
add、setSize、setVisibleおよびpackメソッドをオーバーライドするだけです。私はgetWindowAncestorについて知りませんでした。ありがとう! – unleashed
参照を渡すか、SwingUtilityのgetWindowAncestorを使用することをお勧めしますか? – unleashed
クラスのコンストラクタで単純に呼び出すのではなく、実際にこれらのメソッドをオーバーライドしていますか?私はどちらが正直であることが好ましいかわからない。 GUIがレンダリングされる前にgetWindowAncestorを呼び出すことはできないと思います。トップレベルウィンドウで呼び出されるpack()またはsetVisible(true)です。それ以外の場合はnullが返されます。 –