0

私はJavaが初めてで、それについてあまり知りません。ユーザー入力を受け取る Java コードを作成しました。プログラムに送信ボタンを作成しました。プログラムがハード ドライブの .txt ファイルにユーザー入力を保存する必要があります。コードは次のとおりです。

import javax.swing.*;
import java.awt.BorderLayout;
import java.io.*;
import java.lang.*;

public class myfirstapp extends JFrame {


public JButton submit;
public JTextField field1;
public JTextField field2;
public JTextField field3;
public JLabel label;
public JPasswordField passwordfield;

public void myfirstapp(){

    field1 = new JTextField("Enter your Email Id:");
    field1.setEditable(false);
    add(field1);

    field2 = new JTextField(20);
    add(field2);

    field3 = new JTextField("Enter your password below:");
    field3.setEditable(false);
    add(field3);

    label = new JLabel("Exclusive production of PCIT");
    add(label,BorderLayout.SOUTH);

    passwordfield = new JPasswordField(20);
    add(passwordfield);

    submit = new JButton("Get Likes!");
    submit.addActionListener(
            new ActionListener(){
                private void actionPerformed(ActionEvent event){
                    public Formatter x;
                    private void openFile(){

                        try{
                        x = new Formatter("D:\\gta.txt");
                    }
                    catch(Exception e){
                        System.out.println("You got an error");
                    }


                }

                public void addRecords(){
                    x.submit();
                }
                public void closeFile(){
                    x.close();
                    }
                }

            );
    add(submit);


}}

この行でエラーが発生しています:

private void actionPerformed(ActionEvent event)

エラーの内容: トークンの構文エラー、コンストラクタの配置ミス。私は何をすべきか?この状況に対処する方法がわかりません。親切に助けてください。ありがとうございました。

4

1 に答える 1

1
  • メソッド内にメソッドを持っています

  • actionPerformedのメソッドを実装する必要があり、実装中にメソッドActionListenerの可視性を低下させることはできません。成功するpublic actionPerformed

正しいアプローチ

    submit.addActionListener(
            new ActionListener(){
                //x should be a field since its accessed within other methods
                public Formatter x;

                //this method should be public
                public void actionPerformed(ActionEvent event){

                }

                //open file should be a different method and remove it from actionPerformed
                private void openFile(){
                    try{
                        x = new Formatter("D:\\gta.txt");
                    }
                    catch(Exception e){
                        System.out.println("You got an error");
                    }


                }

                public void addRecords(){
                    x.submit();
                }
                public void closeFile(){
                    x.close();
                }
            }

            );
于 2013-08-03T07:50:15.180 に答える