Java 通过ActionListener更改JTable
所以我的JTable的动作侦听器有问题。 Java没有抱怨,所以这是我的错误。 我想做一个酒店管理软件 我将房间存储在字符串数组中:Java 通过ActionListener更改JTable,java,swing,jtable,actionlistener,Java,Swing,Jtable,Actionlistener,所以我的JTable的动作侦听器有问题。 Java没有抱怨,所以这是我的错误。 我想做一个酒店管理软件 我将房间存储在字符串数组中: private String[][] rooms; private String[] columnNames = { "Room Number" }; JTable results = new JTable(rooms, columnNames); JScrollPane scrollPane = new JScrollPane(results); 然后我的
private String[][] rooms;
private String[] columnNames = { "Room Number" };
JTable results = new JTable(rooms, columnNames);
JScrollPane scrollPane = new JScrollPane(results);
然后我的行动听众:
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();
}
}
searchButton.addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件e){
JsonReader=newjsonreader(“assets/Rooms.txt”);
HotelRoom wanted=makeHotelRoomFromGuiInfo();
字符串输出=”;
试一试{
列出所有房间=读卡器
.readHotelRoomObjectsFromFile();
HotelRoomChooser chooser=新建HotelRoomChooser(所有房间);
列表可接受=选择器
.chooseRoomByPreferences(需要);
如果(可接受的.size()==0){
输出+=“”;
}否则{
对于(int i=0;i
在后面添加
for (int i = 0; i < output.length();){
rooms[i] = output.split(",");
i++;
}
results.setModel(new DefaultTableModel(rooms,columnNames )
for(int i=0;i
“所以我的JTable操作侦听器有问题。”-有什么问题?要修改表包含的内容,必须使用表模型的方法。修改用于构造表的房间数组将不起作用。请阅读关于JTable的swing教程: