0
このプログラムでは、ユーザーは検索を行うことができます。 検索結果はJTableに表示されます。 ユーザは、「編集」と呼ばれるボタンを押してその特定の「アイテム」を編集することができます。リストを使用して入力されたJTableの自動更新<T>
情報が編集され、彼がOKを押すと、jtableが更新されていません。編集前
テーブル:
ユーザーがボタン "編集" をクリックし、JTableはまだ古い情報を示す が、それは
を更新されていない最後のフィールドを編集しますコード:
public void panelTable(){
panelTable = new JPanel()
panelTable.setSize(400, 80);
panelTable.setOpaque(true);
table = new JTable();
modele = new DefaultTableModel();
}
public String getData(int colonNb ,int index){
String dataTab = data[colonNb][index] + "";
return dataTab;
}
public void creerJTable(List<Pneu> liste){
String[] head= {"A", "B", "c"};
this.liste = liste;
data = new Object[liste.size()][3];
Iterator<Pneu> it = liste.iterator();
int index = 0;
while(it.hasNext()){
Pneu unPneu = it.next();
data[index][0] = unPneu.construireDecription();
data[index][1] = unPneu.getPrix();
data[index][2] = unPneu.getNombrePneus();
index++;
}
modele.setDataVector(data, head);
table.setModel(modele);
table.setRowSelectionInterval(0, 0);
componentScroll(data,head);
nbSearch++;
}
public void componentScroll(Object[][] data, String[] head){
if(nbSearch <= 0){
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setFillsViewportHeight(true);
table.setPreferredScrollableViewportSize(new Dimension(500, 80));
table.setModel(modeleColonnesNoEdit(data, head));
table.setRowSelectionInterval(0, 0);
table.getColumnModel().getColumn(0).setPreferredWidth(250);
table.getColumnModel().getColumn(1).setResizable(false);
table.getColumnModel().getColumn(1).setPreferredWidth(50);
table.getColumnModel().getColumn(2).setResizable(false);
table.getColumnModel().getColumn(2).setPreferredWidth(50);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setPreferredSize(new Dimension(500, 60));
panoTab.add(scrollPane);
}
}
private DefaultTableModel modeleColonnesNoEdit(Object[][] data, String[] head) {
return new DefaultTableModel(data, head)
{
boolean[] columnEditables = new boolean[] { false, false, false};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
};
}
これまでのところ質問はしていませんでした。 – MadProgrammer
質問はありますが、慎重に読んでください。 情報が編集され、彼がうまくいくと、jtableは更新されていません。 –
いいえ、私はどこにでも '? 'が見えません、私が見るのは*"プログラムは... "*、*" Once the info ... * "はステートメントです。しかし、あなたがこれらのことについて疑問に思っていたら、答えを見つけることを幸運にも望みます – MadProgrammer