Java 表模型设置值
您好,我的AbstractTableModel有问题。。。我想指定setValueAt,我有一个LocalDate和一个布尔大小写,但我不知道如何在setValueAt方法中指定它。。。有什么建议吗 AbstractTableModel代码:Java 表模型设置值,java,tablemodel,setvalue,Java,Tablemodel,Setvalue,您好,我的AbstractTableModel有问题。。。我想指定setValueAt,我有一个LocalDate和一个布尔大小写,但我不知道如何在setValueAt方法中指定它。。。有什么建议吗 AbstractTableModel代码: package de.hsbhv.mediapartner.app.model; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import javax.sw
package de.hsbhv.mediapartner.app.model;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
import de.hsbhv.mediapartner.app.data.Bestellungen;
public class BestellungTModel extends AbstractTableModel{
private ArrayList<Bestellungen> bliste = Bestellungen.getBestellListe();
String [] columnNames = { "Bestellnummer",
"Kundennummer",
"Name",
"Artikel",
"Bestelldatum",
"Summe",
"Status"};
public int getRowCount() {
// TODO Auto-generated method stub
return Bestellungen.getBestellListe().size();
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return this.columnNames.length;
}
@Override
public String getColumnName(int col) {
return this.columnNames[col];
}
@Override
public Object getValueAt(int row, int col) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
switch(col) {
case 0 : return bliste.get(row).getBestellnummer();
case 1 : return bliste.get(row).getKundennummer();
case 2 : return bliste.get(row).getName();
case 3 : return bliste.get(row).getArtikel();
case 4 : return bliste.get(row).getBestelldatum().format(formatter);
case 5 : return bliste.get(row).getSumme();
case 6 : if (bliste.get(row).isStorniert()) return "Storniert";else return "Freigegeben";
}
return null;
}
@Override
public void setValueAt(Object aValue, int row, int col) {
Bestellungen bestellungen = bliste.get(row);
switch (col) {
case 0 : bestellungen.setBestellnummer(aValue.toString());
case 1 : bestellungen.setKundennummer(aValue.toString());
case 2 : bestellungen.setName(aValue.toString());
case 3 : bestellungen.setArtikel(aValue.toString());
case 4 : bestellungen.setBestelldatum(LocalDate);
case 5 : bestellungen.setSumme(aValue.toString());
case 6 : bestellungen.setStorniert(boolean);
}
fireTableCellUpdated(row, col);
}
public void entfernen(int selectedRow) {
bliste.remove(selectedRow);
}
}
最后,我只想用一个按钮将布尔值大小写(AbstractTableModel中的大小写6)更改为true或false。欢迎使用StackOverflow。你需要提供一些额外的信息,否则我们无法真正帮助你。例如,当前显示的方法没有编译(缺少
}
)。此外,在谈论tablemodel
时,您指的是哪个类?给我们一些背景:)我希望这能给你提供所需的信息:D我想你会注意到我是java的绝对初学者……欢迎来到StackOverflow。你需要提供一些额外的信息,否则我们无法真正帮助你。例如,当前显示的方法没有编译(缺少}
)。此外,在谈论tablemodel
时,您指的是哪个类?给我们一些背景:)我希望这会给你所需要的信息:D我想你会注意到我是java的绝对初学者。。。。
package de.hsbhv.mediapartner.app.ui;
import java.awt.Color;
import java.awt.Font;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import de.hsbhv.mediapartner.app.data.Bestellungen;
import de.hsbhv.mediapartner.app.model.BestellungTModel;
public class BestellungenPanel extends JPanel {
private StartPanel hf;
private final StartPanel frame;
private JTable tblBestellung;
private BestellungTModel tmBestellung;
public BestellungenPanel(StartPanel parent) {
frame = parent;
setLayout(null);
hf = frame;
JLabel lblMediapartner = new JLabel("MediaPartner");
lblMediapartner.setForeground(Color.BLUE);
lblMediapartner.setFont(new Font("Roboto", Font.BOLD, 16));
lblMediapartner.setBounds(12, 13, 157, 16);
add(lblMediapartner);
JSeparator separator = new JSeparator();
separator.setBounds(118, 22, 465, 2);
add(separator);
JLabel lblBestellungen = new JLabel("Bestellungen");
lblBestellungen.setFont(new Font("Roboto", Font.BOLD, 16));
lblBestellungen.setForeground(Color.BLUE);
lblBestellungen.setBounds(591, 13, 97, 17);
add(lblBestellungen);
JLabel lblStatus = new JLabel(" ");
lblStatus.setBounds(239, 243, 56, 16);
lblStatus.setVisible(false);
add(lblStatus);
/*Bedienelemente*/
JScrollPane spArtikel = new JScrollPane();
spArtikel.setBounds(12, 37, 676, 222);
add(spArtikel);
tmBestellung = new BestellungTModel();
tblBestellung = new JTable(tmBestellung);
spArtikel.setViewportView(tblBestellung);
JButton btnstornieren = new JButton("Stornieren");
btnstornieren.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnstornieren.setFont(new Font("Roboto", Font.PLAIN, 13));
btnstornieren.setBounds(243, 272, 216, 25);
add(btnstornieren);
JButton btnZurck = new JButton("zur\u00FCck");
btnZurck.setFont(new Font("Roboto", Font.PLAIN, 13));
btnZurck.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
hf.getCl().show(hf.getCardPanel(), "Admin");
}
});
btnZurck.setBounds(12, 272, 216, 25);
add(btnZurck);
JButton btnfreigeben = new JButton("Freigeben");
btnfreigeben.setFont(new Font("Roboto", Font.PLAIN, 13));
btnfreigeben.setBounds(472, 272, 216, 25);
add(btnfreigeben);
}
}