Add after
for (int i = 0; i < output.length();){
rooms[i] = output.split(",");
i++;
}
results.setModel(new DefaultTableModel(rooms,columnNames )
Вопрос
so I'm having trouble with my action listener for my JTable. Java isn't complaining so it's an error on my part. I'm trying to make a hotel management software.
I'm storing the rooms in a String array:
private String[][] rooms;
private String[] columnNames = { "Room Number" };
JTable results = new JTable(rooms, columnNames);
JScrollPane scrollPane = new JScrollPane(results);
And then my action listener:
searchButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JsonReader reader = new JsonReader("assets/Rooms.txt");
HotelRoom wanted = makeHotelRoomFromGuiInfo();
String output = "";
try {
List<HotelRoom> allRooms = reader
.readHotelRoomObjectsFromFile();
HotelRoomChooser chooser = new HotelRoomChooser(allRooms);
List<HotelRoom> acceptable = chooser
.chooseRoomByPreferences(wanted);
if (acceptable.size() == 0) {
output += "";
} else {
for (int i = 0; i < acceptable.size(); i++) {
output += String.valueOf(acceptable.get(i)
.getRoomNumber())
+ String.valueOf(acceptable.get(i)
.getListOfOccupiedDates()) + ",";
}
}
for (int i = 0; i < output.length();){
rooms[i] = output.split(",");
i++;
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
Решение
Add after
for (int i = 0; i < output.length();){
rooms[i] = output.split(",");
i++;
}
results.setModel(new DefaultTableModel(rooms,columnNames )