![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 449
|
Ich habe eine Tabelle: ![]() Den beiden Spalten mit dem "..."-Button habe ich einen CellRenderer und CellEditor hinzugefügt: Code: // Create table
folderTableModel = new FolderTableModel(rowData, columnNames);
folderTable = new JTable(folderTableModel);
// Install cell renderer and cell editor for column 1 and 3 (-> file chooser)
TableColumn column1 = folderTable.getColumnModel().getColumn(1);
column1.setCellRenderer(new FolderTableCellRenderer());
column1.setCellEditor(new FolderTableCellEditor());
TableColumn column2 = folderTable.getColumnModel().getColumn(3);
column2.setCellRenderer(new FolderTableCellRenderer());
column2.setCellEditor(new FolderTableCellEditor());
Code: public class FolderTableCellRenderer extends JButton implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex) {
// Set the button text to the value of the cell
setText(value.toString());
// Set tool tip
setToolTipText("Open File Chooser");
return this;
}
}
Code: public class FolderTableCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener{
JButton button;
String path;
public FolderTableCellEditor() {
button = new JButton();
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
// Open file chooser
JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(button);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
path = file.getPath();
System.out.println(path);
} else {
//
}
fireEditingStopped();
}
public Object getCellEditorValue() {
return "...";
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
return button;
}
}
__________________ |
| | |
| | Nach oben #2 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.106
|
Hmm... ne bessere Lösung, als pro Zeile/Spalte einen Button, fällt mir ehrlich gesagt nicht ein.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #3 |
| Corvin Gröning Registriert seit: 19.03.2005 Ort: S-H | Flensburg
Beiträge: 449
|
Danke für die Antwort. Ich habe zwar immernoch nicht verstanden, was genau du meinst, aber mir ist durch das Nachdenken darüber eine Idee gekommen, die ich gleich umgesetzt habe. Ich habe jetzt unter der Tabelle einen Button. Wenn man darauf klickt öffnet sich der FileChooser und nach der Verzeichnisauswahl wird der Pfad in die zuvor ausgewählte Zelle geschrieben.
__________________ |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| JTable reagiert nicht auf Menueklick | tommyboy | Desktop-Applikationen und Grafik | 8 | 20.08.2006 23:38 |
| Modifier haben einen Wert, obwohl keine gedrückt sind | materthron | Desktop-Applikationen und Grafik | 3 | 06.11.2005 16:28 |
| JTable Zeile, Spalte, Zelle Hintergrundfarbe ändern | Baba84 | Desktop-Applikationen und Grafik | 3 | 08.08.2005 18:44 |
| GESUCHT:simples beispiel zum thema resultset, tablemodel => in einer JTable ausgeben! | bamboocha | Desktop-Applikationen und Grafik | 2 | 06.06.2005 21:34 |