-1

姓と名を 2 つの別々のテキスト フィールドに入力し、作成した [追加] ボタンをクリックしてリストに送信できる連絡先フィールドを作成しようとしていますが、方法がわかりません。 jFrameが初めてなので、これを正確に行ってください。「文字列」バリエーションの使用方法がわからなかったという理由だけで、フロートを使用してこれに似たチュートリアルで何かを使用していました(以下に示します)が、これは「setText」コマンドが使用されている場合にのみ機能するようです別のテキスト フィールドに設定され、jList では機能しません。

float num1, num2, result;
num1 = Float.parseFloat(textFieldFirstName.getText());
num2 = Float.parseFloat(textFieldLastName.getText());
result = num1+num2;
listFieldContact.setText(String.valueOf(result));

jFrame に関するアイデアや優れたリソースはありますか? 私は多くの場所を見てきましたが、私が必要とする情報を正確に持っているようには見えません.

4

3 に答える 3

3

これは、「setText」コマンドが別のテキスト フィールドに設定されている場合にのみ機能するようで、jList では機能しません。

JList には setText(...) メソッドがありません。を更新する必要がありListModelます。

リストの使用方法に関する Swing チュートリアルのセクションを読んで、希望どおりの動作をする実際の例を確認してください。

この例では 1 つのテキスト フィールドを使用していますが、2 つのテキスト フィールドで簡単に動作させることができるはずです。

于 2013-09-24T04:04:24.427 に答える
1

試す:

String fname = textFieldFirstName.getText();
String lname = textFieldLastName.getText();
listFieldContact = fname + " " + lname;

MadProgrammer が指摘したように、float 変換は必要ありません。姓と名の間にはスペースが必要です。多分あなたlname + ", " + fnameは他の状況で望むでしょう。

于 2013-09-24T04:02:40.217 に答える
0

JList で値を使用できるようにするために、文字列操作に Float を使用する必要はないと思います。次のように実行できます。

Vector<String> nameVector = new Vector<>();
JList<String> nameList = new JList<>();

public void addText() {
    nameVector.add(firstNameTF.getText()+lastNameTF.getText());
    nameList.setListData(nameVector);
}

このコードは、クエリの解決に役立つと思います。

于 2013-09-24T04:43:03.887 に答える