0

私はJavaの使用に問題がJFileChooserあり、誰かが私を助けてくれるかどうか疑問に思っていました。それはおそらく本当に単純なことですが、私は何が悪いのかを見つけることができません。

インポートボタンをクリックするJFileChooserとウィンドウが正常に開き、任意のフィールドに移動できますが、それらを読み取ることができませんJTextFields

これが私のJFileChooser方法です:

public void importFile() {
    JFileChooser chooser = new JFileChooser();//A
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a
        try {
            BufferedReader file_in = new BufferedReader(
            new FileReader(chooser.getSelectedFile().getPath()));
            int i = 0;

            String name = "",hnumber = "", mnumber = "", address = "";

            while (((fileLines = file_in.readLine()) != null)) {
                if (fileLines.length() > 0) {
                    i++;
                    if (i == 1) {
                        name = fileLines;
                    } else if (i == 2) {
                        hnumber = fileLines;
                    } else if (i == 3) {
                        mnumber = fileLines;
                    } else if (i == 4) {
                        address = fileLines;

                        String[] nameArray = name.split(" ");

                        Contact c = new Contact (nameArray[1], nameArray[0], 
                        hnumber, mnumber, address);
                        contactList.add(c);
                        index = 0;
                    }
                }
            }

            for (int j = 0; j < contactList.size(); j++) {
                System.out.print(contactList.get(j).getname());
                System.out.print(" ");
                System.out.println(contactList.get(j).getmnumber());
                System.out.println(contactList.get(j).gethnumber());
                System.out.println(contactList.get(j).getaddress());
                System.out.println(contactList.get(j).getsurname());
                System.out.println(" ");
            }

        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}
4

2 に答える 2

0

行を取得しやすくするために、List または StringBuilder を使用する必要があります。結果としてエラーが発生しますか?デバッグは、プログラムが壊れている場所を確認するのに非常に役立ちます。

ここに私があなたのためにまとめたものがあります:

public void importFile() {
    JFileChooser chooser = new JFileChooser();//A
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { //a
        try {
            FileReader fr = new FileReader(chooser.getSelectedFile().getPath());
            BufferedReader file_in = new BufferedReader(fr);
            List lines = new List();
            String line = new String("");
            while ((line = file_in.readLine()) != null) {
                list.add(line);
                if (list.size() >= 3) {
                    String[] nameArray = ((String)list.get(0)).split(" ");
                    Contact c = new Contact (nameArray[1], nameArray[0], 
                            (String)list.get(1), (String)list.get(2), 
                            (String)list.get(3));
                    contactList.add(c);
                }
                System.out.println(list.get(list.size()-1)); // Debug
            }
        }
        catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

編集してないので誤字脱字等あるかもしれません…

于 2009-11-29T20:12:11.070 に答える
0

下から5行目にある「contactList」という配列リストにインポートされます。したがって、JTextFields には直接入りませんが、いずれにせよ動作させることはできません。

于 2009-11-29T20:14:37.050 に答える