【发布时间】:2023-12-29 11:20:01
【问题描述】:
我有两个 jinternalframes,第一个用于查看,另一个用于数据处理。第一个jinternalframe的数据表与第二个jinternalframe相同。我想要的是在我从第二个 jinternalframe 添加数据后,让第一个 jinternalframe 更新它的 jtable。请参阅附件的第一个 jinternal 框架和第二个 jinternalframe 的照片。
这是第一帧的代码sn-p:
table1 = new JTable();
table1.setModel(loadTable1());
scrollPane.setViewportView(table1);
}
public static DefaultTableModel loadTable1(){
data = new ModelDB();
tableModel1 = new DefaultTableModel();
tableModel1.addColumn("ID");
tableModel1.addColumn("Allocation");
tableModel1.addColumn("Shipment Date");
tableModel1.addColumn("Buyers");
tableModel1.addColumn("Design");
try{
List<String> id = data.getAllocation().get(0);
List<String> allocation = data.getAllocation().get(1);
List<String> shipdate = data.getAllocation().get(2);
List<String> buyers = data.getAllocation().get(3);
List<String> design = data.getAllocation().get(4);
for(int i=0;i<id.size();i++){
tableModel1.addRow(new Object[]{
id.get(i),allocation.get(i),shipdate.get(i),buyers.get(i),design.get(i)
});
}
}catch(Exception ex){}
return tableModel1;
}
这是第二帧的代码sn-p:
@Override
public void actionPerformed(ActionEvent evt){
data = new ModelDB();
String action = evt.getActionCommand();
String allocation = txtAllocation.getText().toUpperCase();
Date shipdate = (Date) shipDate.getModel().getValue();
String buyers = String.valueOf(model4.getCheckeds()).replaceAll("[\\[\\](){}]", "");
String design = String.valueOf(model.getCheckeds()).replaceAll("[\\[\\](){}]","");
String stylecode = String.valueOf(model2.getCheckeds()).replaceAll("[\\[\\](){}]", "");
String sizes = String.valueOf(model3.getCheckeds()).replaceAll("[\\[\\](){}]", "");
String pcspack = txtPcsPack.getText();
String season = txtSeason.getText().toUpperCase();
String orderqty = txtQtyOrder.getText();
if(action.equals("Add")){
btnSave.setText("Save");
btnSave.setActionCommand("Save");
btnCancel.setEnabled(true);
txtAllocation.setEnabled(true);
txtAllocation.grabFocus();
shipDate.setEnabled(true);
cmbBuyers.setEnabled(true);
cmbDesign.setEnabled(true);
cmbStyleCode.setEnabled(true);
cmbSize.setEnabled(true);
txtPcsPack.setEnabled(true);
txtSeason.setEnabled(true);
txtQtyOrder.setEnabled(true);
}
else if(action.equals("Save")){
if(allocation.isEmpty() || shipdate.equals("") || pcspack.isEmpty() || season.isEmpty() || season.isEmpty() || orderqty.isEmpty() || buyers.isEmpty()||
design.isEmpty() || stylecode.isEmpty() || sizes.isEmpty()){
message.showMessageDialog(null, "Nothing to save");
}
else{
try{
if(data.addAllocation(allocation, shipdate, buyers, design, stylecode, sizes, pcspack, season, orderqty) == true){
message.showMessageDialog(null, "Data have been successfully saved");
}
else{
message.showMessageDialog(null, "Failed to save");
}
}catch(Exception ex){
ex.printStackTrace();
}
table1.setModel(loadTable());
}
btnSave.setText("Add");
btnSave.setActionCommand("Add");
btnCancel.setEnabled(false);
txtAllocation.setEnabled(false);
shipDate.setEnabled(false);
cmbBuyers.setEnabled(false);
cmbDesign.setEnabled(false);
cmbStyleCode.setEnabled(false);
cmbSize.setEnabled(false);
txtPcsPack.setEnabled(false);
txtSeason.setEnabled(false);
txtQtyOrder.setEnabled(false);
txtAllocation.setText("");
model.removeChecks();
model2.removeChecks();
model3.removeChecks();
model4.removeChecks();
txtPcsPack.setText("");
txtSeason.setText("");
txtQtyOrder.setText("");
}
else if(action.equals("Cancel")){
btnSave.setText("Add");
btnSave.setActionCommand("Add");
btnCancel.setEnabled(false);
txtAllocation.setEnabled(false);
shipDate.setEnabled(false);
cmbBuyers.setEnabled(false);
cmbDesign.setEnabled(false);
cmbStyleCode.setEnabled(false);
cmbSize.setEnabled(false);
txtPcsPack.setEnabled(false);
txtSeason.setEnabled(false);
txtQtyOrder.setEnabled(false);
txtAllocation.setText("");
model.removeChecks();
model2.removeChecks();
model3.removeChecks();
model4.removeChecks();
txtPcsPack.setText("");
txtSeason.setText("");
txtQtyOrder.setText("");
}
}
【问题讨论】:
-
您发布了一些模糊的愿望、代码 sn-ps 和图像,我不确定我们中的任何人将如何理解您的问题,这将使我们能够创建一个连贯的答案。如果您没有很快得到其中之一,请考虑努力将更多注意力集中在您的代码、您的问题和您的问题上,包括创建和发布有效的minimal reproducible example 并提出一个非常具体且可回答的问题。祝你好运。
-
......你好?
-
另请注意,这两个 jinternalframes 属于两个不同的类...
标签: java mysql database swing jtable