In meiner JTable, möchte ich den Tabellenkopf mit Rechtsklick-Option umbenennen.ein Klicken Sie mit der rechten Maustaste auf einen Header gibt es Option zum Umbenennen von header.aber wenn ich dies tun wird es umbenennen der ausgewählten Spaltenkopf . Also muss ich zuerst auf diese Spalte klicken und dann weiter bearbeiten. Gibt es eine Möglichkeit, wenn ich Rechtsklick auf eine Spalte bin, es auch ausgewählt werden, so dass nach dem Umbenennen der Wert umbenannt wird.Benennen Sie den Tabellenkopf um
Meine Aktion Hörer ist wie folgt:
int column = jTable1.getSelectedColumn();
if (column == -1) {
return;
}
if (column == 0) {
JOptionPane.showMessageDialog(jTable1, "You can not rename this column.");
return;
}
boolean blag = true;
String sColumnName = null;
while (blag) {
sColumnName = (String) JOptionPane.showInputDialog(jTable1, "Enter Column Name", "Add Column", JOptionPane.INFORMATION_MESSAGE, null, null, null);
if (sColumnName == null) {
return;
}
if (sColumnName.trim().equalsIgnoreCase("")) {
JOptionPane.showMessageDialog(jTable1, "Column name can not be blank.");
blag = true;
} else {
blag = false;
}
Vector vColumns = new Vector();
for (int i = 0; i < defaultTableModel.getColumnCount(); i++) {
vColumns.add(defaultTableModel.getColumnName(i));
}
if (vColumns.contains(sColumnName)) {
JOptionPane.showMessageDialog(jTable1, "Column name " + sColumnName + " already exist.");
return;
}
}
int viewColumn = jTable1.convertColumnIndexToView(column);
int totalColumn = defaultTableModel.getColumnCount();
Object[] headers = new Object[totalColumn];
for (int i = 0; i < totalColumn; i++) {
if (i == column) {
headers[i] = sColumnName;
} else {
headers[i] = defaultTableModel.getColumnName(i);
}
}
defaultTableModel.setColumnIdentifiers(headers);
Danke @mKorbel für die Antwort. – Ronak
@Ronak froh, Ihnen zu helfen – mKorbel