您好我正在尝试访问一个数组并使用joptionpane在下拉列表中显示它。我有点工作:
for (int i = 0; i < data.length; r++)
{
Object list = JOptionPane.showInputDialog(null, "Select Code",
"Code", JOptionPane.QUESTION_MESSAGE, null, data[i][0], data[0][0]);
}
这会打开一个下拉列表...但只有一个数据并显示大约5次(数组长度)。我怎样才能在一个下拉列表中显示每个数据?
编辑 - 忘记说当使用数据[i] [0]时它会带来错误,因为它只允许我使用数据[i]? - “找不到符号”
由于
答案 0 :(得分:2)
它不应该是一个循环。
public static Object showInputDialog(Component parentComponent,
Object message,
String title,
int messageType,
Icon icon,
Object[] selectionValues,
Object initialSelectionValue)
您确定要传递selectionValues 对象数组和initialSelectionValue对象吗?
什么是数据类型?假设data [0]是一个数组,请尝试
JOptionPane.showInputDialog(null, "Select Code",
"Code", JOptionPane.QUESTION_MESSAGE, null, data, data[0]);
您能告诉您数据的确切类型吗?来自JDK的这个例子
Object[] possibleValues = { "First", "Second", "Third" };
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input",
JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
非常适合我。
答案 1 :(得分:0)
这来自Java API:
public static Object showInputDialog(Component parentComponent,
Object message,
String title,
int messageType,
Icon icon,
Object[] selectionValues,
Object initialSelectionValue)
请注意,selectionValues是一个单维数组。当您输入数据[i] [0]时,您给它一个值。当您输入数据[i]时,您将提供数组的单行,作为一维数组。 (回想一下,java没有n维数组,只有数组数组。)
您可能需要构建一个新的一维数组,然后将其输入。
或者,如果可能,将数组的行转换为某个对象,并在该类中实现toString()方法以显示所需内容。