1

私は Java を学ぼうとしていますが、PHP から長い道のりを歩んできました。コードを作成するときに同じ考え方を適用しようとしました。しかし、多くの人がすでに知っているように、それはそれほど簡単には機能しません。

ということで、質問があります。の項目からドロップダウン リストを作成したいと考えていますArrayListJOptionPane.showInputDialog()メソッドを使用してこれを試みるというアイデアが好きです。

これは私が現在持っているものですが、それを伝えるエラーが表示されますno suitable method found for showInputDialog

ArrayList<String> projectList = new ArrayList<String>();

while(results.next())
    projectList.add(results.getString("project"));

String inputDialog = (String)JOptionPane.showInputDialog(this, "Choose project to open", "Open Project", JOptionPane.PLAIN_MESSAGE, null, projectList, "--");

問題は、を配列オブジェクトとして渡すと、ArrayListこのエラーがスローされることです。しかし、私が次のようなことをした場合

Object[] projectList = {"one", "two"};

その後、意図したとおりに動作し、おそらくこれを実行しprojectsて、配列オブジェクトとして渡しようとしました。

Object[] projects = {projectList.toString()};

これはある程度機能しますが、出力は"one, two"ドロップダウン リストの 1 つの項目として表示されます。

4

3 に答える 3

2

必要ArrayListに応じて、 List.toArray()を使用して変換できます。つまり、次の ようになります。Object[]

ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
Object[] result = list.toArray();
于 2013-04-17T04:19:12.570 に答える
1

projectList は ArrayList です。これを配列に変換してから、メソッド JOptionPane.showInputDialog() に渡します。List.toArray() メソッドを確認してください。

String [] projects = projectList.toArray(new String[projectList.size()]);
于 2013-04-17T04:17:41.827 に答える
1

フォローしてみてください

    Object[] projectListArray =new Object[projectList.size()];
    projectList.toArray(projectListArray);

String inputDialog = (String)JOptionPane.showInputDialog(this, "Choose project to open", "Open Project", JOptionPane.PLAIN_MESSAGE, null, projectListArray , "--");

それが役に立てば幸い。

于 2013-04-17T04:20:12.697 に答える