0
public class Main
{
  private static boolean SaH=false,LaE=false;

  public static void main(String[] args{
    //other code
    choice1.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {                        
                     SaH = true;
                     frame.dispose();
                }
            }
        );

   if (SaH==true)
   {
      // more code

プログラムを実行すると、dispose()メソッドを介してフレームが消えます。ただし、if ステートメントには入りSaHません (変化していません)。

4

1 に答える 1

0

ジャバみたいですね。if (SaH==true) ステートメントは、java プログラムが main メソッド内でそのままロードされるときに実行されます。dispose() メソッドの後に実行する場合は、新しいメソッドを作成し、actionListener 内で dispose() の直後にメソッドを呼び出します。

于 2013-02-10T22:06:50.197 に答える