#java #swing #jtable #substring #jlist
#java #swing #jtable #подстрока #jlist
Вопрос:
Привет, я пытаюсь создать программу, которая переместит выбранное значение из списка в таблицу. Я могу добавить все значение списка в одну строку, но то, что я хочу сделать, это разделить значение списка на набор строк и установить их в разные строки таблицы.
Значения списка будут выглядеть следующим образом:
123 Test St LA 1823 Yes
456 Test Dr NY 12345 No
Список получает значения из текстовых полей (адрес, состояние, почтовый индекс, для продажи) и устанавливает все это в одну строку строки, разделенную пробелами.
В таблице у меня 4 строки:
|Address|State|Zip| For Sale|
|------ ----- --- ---------|
| | | | |
Итак, чтобы сделать это, я должен разделить строковое значение из списка на пробел, но поскольку текстовое поле адреса содержит пробелы (т.Е. 123 Test St) в отличие от других текстовых полей, мне нужно найти способ разделить строку из списка, чтобы я мог задать адрес,Состояние, Zip и значение для продажи.
Вот мой фрагмент кода:
private void addListActionPerformed(java.awt.event.ActionEvent evt) {
home.setAddress(address.getText());
home.setState(state.getText());
home.setZip(zip.getText());
home.setSale(forSale.getText());
String concat = home.getAddress() " "
home.getState() " "
home.getZip() " "
home.getSale();
addVal(concat);
address.setText("");
state.setText("");
zip.setText("");
forSale.setText("");
}
private void addVal(String str) {
jList1.setModel(dm);
dm.addElement(str);
}
private void addToTableActionPerformed(java.awt.event.ActionEvent evt) {
String s = jList1.getSelectedValue();
//Split and set values and add to table
}
Я мог бы использовать: String[] spaces = s.split(" ")
, но тогда мне нужно было бы обработать значение адреса, поскольку оно также включает несколько пробелов, есть ли более простой способ сделать это? Любые советы будут оценены. Спасибо!
Ответ №1:
- Заполните свой JList домашними объектами, а не объединенной строкой
- Используйте средство визуализации пользовательских ячеек списка для отображения объединенной строки, полученной из домашних объектов в списке.
- Затем, когда элемент в JList выбран, у вас есть полный домашний объект, а не строка, и создание вашей строки JTable должно быть тривиальным.