L
Louis2
Gast
Hallo,
ich habe eine JMenuBar, dort 2 Optionen: in der JTable nur Zeile markieren oder nur Spalten markieren.
Nun soll wenn ich eine Zeile markiere (keine Spalte) eine Meldung erscheinen. Die Meldung zu erstellen ist nicht das Problem, sondern, dass sie beim clicken auf eine Zeile erscheint.
Bisher habe ich es so gemacht
aber das dumme ist ja, dass wenn ich im Menu dann "Delete rows" anklicke er mir natürlich sofort die Meldung bringt, und das will ich ja nicht. Ich will erst auswählen können und dann soll er die Meldung bringen.
Ich brauche wohl noch einen actionPerformed für die Zeile Auswahl oder? Oder gibt es sonst noch Möglichkeiten?
ich habe eine JMenuBar, dort 2 Optionen: in der JTable nur Zeile markieren oder nur Spalten markieren.
Code:
menuAction.add(new AbstractAction("Select columns and send them",
new ImageIcon(getClass().getResource("cursor.jpg")))
{
public void actionPerformed(ActionEvent e)
{
table.setRowSelectionAllowed(false);
table.setColumnSelectionAllowed(true);
}
});
menuAction.add(new AbstractAction("Delete rows",
new ImageIcon(getClass().getResource("delete.jpg")))
{
public void actionPerformed(ActionEvent e)
{
table.setCellSelectionEnabled(true);
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(false);
}
});
Nun soll wenn ich eine Zeile markiere (keine Spalte) eine Meldung erscheinen. Die Meldung zu erstellen ist nicht das Problem, sondern, dass sie beim clicken auf eine Zeile erscheint.
Bisher habe ich es so gemacht
Code:
new ImageIcon(getClass().getResource("delete.jpg")))
{
public void actionPerformed(ActionEvent e)
{
table.setCellSelectionEnabled(true);
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(false);
int selectedRow = table.getSelectedRow();
int ret = JOptionPane.showConfirmDialog(EmailClient.this, "Row " + (selectedRow+1) + " will be deleted, please confirm!", "Deletion validation",
JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE);
if (ret == JOptionPane.YES_OPTION)
model.removeRow(selectedRow);
int numberRows = table.getRowCount();
valueLabel.setText(" Number of rows: " + numberRows);
valueProg.setText("x of " + numberRows + " Emails");*/
}
});
aber das dumme ist ja, dass wenn ich im Menu dann "Delete rows" anklicke er mir natürlich sofort die Meldung bringt, und das will ich ja nicht. Ich will erst auswählen können und dann soll er die Meldung bringen.
Ich brauche wohl noch einen actionPerformed für die Zeile Auswahl oder? Oder gibt es sonst noch Möglichkeiten?