Swing-GUIと外部クラスがあります。Swing GUIのコンストラクターで、外部クラスの新しいオブジェクトをインスタンス化します。しかし、GUIクラスの他のメソッド(アクションリスナー内など)からこのオブジェクトを使用することはできません。アクションリスナーでオブジェクトを直接インスタンス化すると、外部クラスのすべてのメソッドを使用できます。
関連するコードスニペットは次のとおりです。もっと必要な場合は教えてください:-)
1)私の外部クラス
public class ExternalClass
{
private int a = 100;
public int getA() {
return a;
}
}
2)私のGUIクラスの一部
パブリッククラスGUIはjavax.swing.JFrameを拡張します{
// constructor
public GUI()
{
initComponents();
ExternalClass e = new ExternalClass();
}
//...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
int u = e.getA();
// this doesn't work - the object e is not known by the method
}
//...
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
new GUI().setVisible(true);
}
});