来自JOptionPane的多个选择

use*_*737 4 java user-interface swing joptionpane

我有一个带有物体的arraylist和一个正在运行的Gui.我正在寻找一种方法来弹出一个小框架或框或类似于显示arraylist中的对象的方法.用户现在应该能够选择一个或多个随后返回的项目.

我已经有了optionpane,但我可以选择一个对象

    Object[] possibilities = lr.declarationList.toArray();
    String s = (String)JOptionPane.showInputDialog(
                        gui.getFrame(),
                        "Choose Target Nodes",
                        "Customized Dialog",
                        JOptionPane.PLAIN_MESSAGE,
                        null,
                        possibilities,
                        null);
Run Code Online (Sandbox Code Playgroud)

也许一个弹出列表会有所帮助.

mae*_*ics 9

尝试使用JOptionPane.showMessageDialog(...)JList组件参数,其元素源自列表,例如:

JList list = new JList(new String[] {"foo", "bar", "gah"});
JOptionPane.showMessageDialog(
  null, list, "Multi-Select Example", JOptionPane.PLAIN_MESSAGE);
System.out.println(Arrays.toString(list.getSelectedIndices()));
Run Code Online (Sandbox Code Playgroud)

请注意,如果在消息对象本身中需要更多布局项,则可以将它们全部打包到JPanel中,并将该组件用作消息参数.