我有两个课程placeNewOrder
和主要课程DeliveryExpressApp
。
问题是当我选择可用餐馆JTable
中的第一行时,它必须将我在代码中的注释中指定的数据加载到菜单表中。
我已将这两个类的代码放在下面的链接中。
答案 0 :(得分:1)
我检查了你的代码,我知道你每次选择时都会创建一个新表。
public JTable menuTableMethod(String []title, String [][]data){
menuTable = new JTable(data, title);
在初始化类时创建表,并使用表模型来刷新表。我更改了以下部分,程序现在正在运行。但是你仍然必须进行一些更改并使用所有表格和表格模型。
初始化成员:
JTable availableRestaurantsTable, orderSummaryTable;
DefaultTableModel defaultModel = new DefaultTableModel();
JTable menuTable = new JTable(defaultModel);
menuTableMethod
public JTable menuTableMethod(String []title, String [][]data){
//menuTable = new JTable(data, title);
defaultModel.setDataVector(data, title);
menuTable.setPreferredScrollableViewportSize(new Dimension(380, 250));
//menuTable.setBackground(Color.lightGray);
menuTable.setFillsViewportHeight(true);
menuTable.updateUI();
menuTable.validate();
//JOptionPane.showMessageDialog(null, "Table update ! ");
return menuTable;
}
鼠标适配器
availableRestaurantsTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
String cellValue = (String)availableRestaurantsTable.getValueAt(availableRestaurantsTable.getSelectedRow(), availableRestaurantsTable.getSelectedColumn());
if(cellValue.compareTo("Bar & Boeuf") == 0){
JOptionPane.showMessageDialog(null, "Yeap! Same\n"+cellValue);
menuTableMethod(title2, dataUpdate);
}
}
查看here以获取有关表模型的更多信息。