Wie Button in der Zelle von Jtable in Netbeans ???Hinzufügen von Schaltfläche zu der Zelle in Jtable in Netbeans
1
A
Antwort
0
Sie müssen einen benutzerdefinierten CellRenderer hinzufügen, einige Ereignisse aus der Tabelle neu ausrichten und die Zelle neu zeichnen, wenn sich der Status der Schaltfläche ändert. Es ist böse, es ist böse, aber es kann getan werden.
2
0
Wie in der Button Table Example gezeigt, werden wir eine Klasse erstellen, die JButton
erweitert und implementiert TableCellRenderer
.
class ButtonRenderer extends JButton implements TableCellRenderer {
public ButtonRenderer() {
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(UIManager.getColor("Button.background"));
}
setText((value == null) ? "" : value.toString());
return this;
}
}
Sie müssen dann auch einen Zelleditor für die Spalte erstellen.
class ButtonEditor extends DefaultCellEditor {
protected JButton button;
private String label;
private boolean isPushed;
public ButtonEditor(JCheckBox checkBox) {
super(checkBox);
button = new JButton();
button.setOpaque(true);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fireEditingStopped();
}
});
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
if (isSelected) {
button.setForeground(table.getSelectionForeground());
button.setBackground(table.getSelectionBackground());
} else {
button.setForeground(table.getForeground());
button.setBackground(table.getBackground());
}
label = (value == null) ? "" : value.toString();
button.setText(label);
isPushed = true;
return button;
}
public Object getCellEditorValue() {
if (isPushed) {
//
//
JOptionPane.showMessageDialog(button, label + ": Ouch!");
// System.out.println(label + ": Ouch!");
}
isPushed = false;
return new String(label);
}
public boolean stopCellEditing() {
isPushed = false;
return super.stopCellEditing();
}
protected void fireEditingStopped() {
super.fireEditingStopped();
}
}
Wir werden dann eine Instanz der ButtonRender
gesetzt, wie die Zelle für diese Spalte und eine Instanz von ButtonEditor als Zellen-Editor machen.
\\"Button" is the column name
table.getColumn("Button").setCellRenderer(new ButtonRenderer());
table.getColumn("Button").setCellEditor(
new ButtonEditor(new JCheckBox()));
example Die in den Link bereitgestellt hat das komplette runnable Beispiel.
Verwandte Themen
- 1. JTable Hinzufügen von 2 Mini-Button in eine Zelle
- 2. Hinzufügen eines Spinner in einer JTable-Zelle
- 3. Löschen hervorgehobene Zelle in Jtable
- 4. Zelle Bearbeitung in JTable
- 5. Schaltfläche oben auf JTable hinzufügen
- 6. Individuelle Spaltenbreiten von Jtable in Netbeans
- 7. Scrollbare JPanel in JTable Zelle
- 8. Hinzufügen von zusätzlichen unsichtbaren Informationen zu jeder Zelle in der JTable
- 9. Schaltfläche in der Tabellenansicht Zelle
- 10. Holen Wert von einer Zelle in JTable
- 11. Werte von JTable-Zelle erhalten
- 12. JTable Zelle Null zurück
- 13. Hinzufügen von Schaltflächen in der Zelle von JTable zusammen mit Daten?
- 14. JTable zu SWT Group hinzufügen
- 15. Access JTable Zelle Komponente
- 16. JTable Zelle Editor Dezimilierungsschwelle
- 17. Element zu verschiedenen Spalten in Jtable hinzufügen
- 18. Schaltfläche zu QTableview hinzufügen
- 19. hinzufügen Action zu Spaltenüberschrift von JTable
- 20. Farbe der Schaltfläche in DataGridView-Zelle ändern
- 21. Wie JTable Zelle Rendering nach Zelle bearbeitet
- 22. JTable Zelle mit boolescher Datentyp
- 23. Get Vordergrund Zelle jtable
- 24. Hinzufügen von Zeilen zu einer JTable
- 25. Abrufen von Mysql Daten an die JTable in Netbeans
- 26. Symbol in JTable-Zelle, die Fehlausgabe verursacht
- 27. den Wert der Zelle in JTable nach einem Klick auf die Schaltfläche bearbeiten
- 28. Wie mehrere Zeilen in einer JTable Zelle
- 29. hinzufügen Arraylist Daten zu JTable
- 30. wie zu bearbeiten/update jtable Zelle Werte in Datenbank
großer mann ich fand es .... vielen dank für ihre hilfe! – Jasra