Heim >Java >javaLernprogramm >Wie rufe ich den Zeilenindex einer Tabellen-ComboBox ab, die ein ItemEvent auslöst?
Abrufen der CellRow eines ItemEvents in einer Tabellen-ComboBox
Beim Arbeiten mit einer JTable, die Spalten mit Combo-Boxen enthält, kann dies erforderlich sein Rufen Sie die Zeile der ComboBox ab, die ein ItemEvent ausgelöst hat. Allerdings fehlt dem ItemListener hierfür eine Methode.
So ermitteln Sie die CellRow
Um die gewünschte Zeile abzurufen, berücksichtigen Sie die folgenden Optionen:
Verwenden des TableCellEditors
In „Verwenden eines Kombinationsfelds als Editor“ enthält die Methode getTableCellEditorComponent() des TableCellEditors die Zeile als Parameter. Mit dieser Methode kann auf die Zeile zugegriffen werden.
Abhängige Spalten synchronisieren
Verwendung der getValueAt()-Methode
Von Durch Überschreiben der getValueAt()-Methode des Modells können Sie eine Beziehung zwischen der ComboBox-Spalte und anderen Spalten innerhalb derselben herstellen Reihe. Geänderter Code:
import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.IOException; import javax.swing.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; public class DependentColumn extends JFrame { private static final int DEPENDENT_COL = 1; private static final int ITEM_COL = 2; private static final String[] columnNames = {"Col 1", "Col 2", "Col 3"}; public static void main(String args[]) throws IOException { EventQueue.invokeLater(new Runnable() { @Override public void run() { DependentColumn dc = new DependentColumn(); } }); } public DependentColumn() {
Das obige ist der detaillierte Inhalt vonWie rufe ich den Zeilenindex einer Tabellen-ComboBox ab, die ein ItemEvent auslöst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!