[英]How to refresh the value of JTable?
if(e.getSource()== submit){
// Error Handling
if(viewSelection.getText().equals("Empty") || textField.getText().isBlank()) {
JOptionPane.showMessageDialog(null, "Wrong Value");
}else {
try {
dataFile.EditData(viewSelection.getText(), dataFile.ReadData(), Integer.parseInt(textField.getText()));
// table.setValueAt(dataFile.material.get(viewSelection.getText()), 0,0);
JOptionPane.showMessageDialog(null, "Saved Data!");
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
String header[] = {"material", "stack"};
String contents[][] = {
{milk.getText(), dataFile.material.get(milk.getText())},
{vanila.getText(), dataFile.material.get(vanila.getText())},
{coffeebean1.getText(), dataFile.material.get(coffeebean1.getText())},
{coffeebean2.getText(), dataFile.material.get(coffeebean2.getText())},
{coffeebean3.getText(), dataFile.material.get(coffeebean3.getText())},
{choco.getText(), dataFile.material.get(choco.getText())},
{caramel.getText(), dataFile.material.get(caramel.getText())},
{icecream.getText(), dataFile.material.get(icecream.getText())},
{sweatMilk.getText(), dataFile.material.get(sweatMilk.getText())}
};
DefaultTableModel model = new DefaultTableModel(contents, header);
table = new JTable(contents, header);
model.fireTableDataChanged();
JScrollPane scrollpane = new JScrollPane(table);
我正在編寫一個程序來從 DataFile Class 導入值並通過 GUI 更改值。
當用戶按下提交按鈕時,我想刷新JTable
的值。
我試圖改變表格的列值,但我很擔心,因為它不起作用......
在我看來,每次用戶按下提交按鈕時,您都必須再次執行所有這些代碼:
String header[] = {"material", "stack"};
String contents[][] = {
{milk.getText(), dataFile.material.get(milk.getText())},
{vanila.getText(), dataFile.material.get(vanila.getText())},
{coffeebean1.getText(), dataFile.material.get(coffeebean1.getText())},
{coffeebean2.getText(), dataFile.material.get(coffeebean2.getText())},
{coffeebean3.getText(), dataFile.material.get(coffeebean3.getText())},
{choco.getText(), dataFile.material.get(choco.getText())},
{caramel.getText(), dataFile.material.get(caramel.getText())},
{icecream.getText(), dataFile.material.get(icecream.getText())},
{sweatMilk.getText(), dataFile.material.get(sweatMilk.getText())}
};
DefaultTableModel model = new DefaultTableModel(contents, header);
table = new JTable(contents, header);
這和你的一樣。 似乎這是您用來在表中顯示 DataFile 值的代碼,因此您可以將此代碼放在 function 中,並在程序開始時和每次按下提交按鈕時調用 function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.