массив в раскрывающемся списке панели задач - Java? - PullRequest
0 голосов
/ 16 декабря 2009

Привет. Я пытаюсь получить доступ к массиву и показать его в раскрывающемся списке с помощью 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 раз (длина массива). Как я могу получить это для отображения всех данных только в одном раскрывающемся списке?

Edit - забыл сказать, что при использовании data [i] [0] возникает ошибка, поскольку я могу использовать только data [i]? - "не могу найти символ"

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 декабря 2009

Это не должен быть цикл.

public static Object showInputDialog(Component parentComponent,
                                     Object message,
                                     String title,
                                     int messageType,
                                     Icon icon,
                                     Object[] selectionValues,
                                     Object initialSelectionValue)

Вы уверены, что передаете selectionValues ​​ массив объектов и initialSelectionValue Object?

Какой тип данных? Предполагая, что 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]);

отлично работает для меня.

0 голосов
/ 16 декабря 2009

Это из 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 () в этом классе для отображения того, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...