Kurze Frage zu ComboBox

Shizzl_chrizzl

Erfahrenes Mitglied
Leude hab ne kurze Frage. Ich hab 2 Klassen die eine repräsentiert n Panel wo Comboboxen drauf sind und die andere ein JTable. Nun will ich im JTable einen String der das jeweils ausgewählte Item in der Combobox im Panel anzeigt. Nun weis ich nicht wie ich die Klasse Panel rüberbekomme so das er die Comboboxen erkennt und die Items in den string lädt.

Könnt ihr mir schnell in die folgende Quellcodes reinschreiben wie das .

Code:
public class PCombo_EQ extends JPanel 
{

    final String iniFileEqui = "runcard.properties";
    
    String Equipment1;
    String Equipment2;

    JPanel tabPanel1       = new JPanel();
    JPanel tabPanel2       = new JPanel();
    JPanel tabPanel3       = new JPanel();
    JPanel tabMain         = new JPanel();

    JLabel labelEqui       = new JLabel("Equipment", SwingConstants.CENTER);
    JLabel labelProc       = new JLabel("Prozesse", SwingConstants.CENTER);
    JLabel labelWafe       = new JLabel("Wafer", SwingConstants.CENTER);

    public JComboBox comboEqui = new JComboBox();
    public JComboBox comboProc = new JComboBox();
    public JComboBox comboWafe = new JComboBox();

    Vector vEquipment = new Vector();
    Vector vProcesses = new Vector();

  public PCombo_EQ()
  { 
      jbInit();
  }
  public void jbInit(){

    iniFileReader();


usw. eben später wird da alles dem Panel geaddet.


Code:
public class FI_WaferTable extends JPanel 
{

      public JTable tblMeasurement = new JTable();
      private JScrollPane scrollPane = new JScrollPane(tblMeasurement);
       
      private TableModel tableModel;
 
      public Vector vSearch;
      public Vector columnNames;

      JButton updateButton = new JButton("Update");
      String combo;
    
public FI_WaferTable(Vector vSearch, Vector columnNames)
  {
    
    this.vSearch = vSearch;

  jbInit();
 }
  private void jbInit()  {


        PCombo_EQ testCombo = new PCombo_EQ();
//combo = (String)tryBox.getSelectedItem(); 


        columnNames = new Vector();
             
          columnNames.add("Index");

          
        this.setLayout(new BorderLayout());
        this.add(scrollPane, BorderLayout.CENTER);
        this.add(updateButton, BorderLayout.SOUTH);
        this.add(tryBox, BorderLayout.NORTH);

        tblMeasurement.setPreferredScrollableViewportSize(new Dimension(240,300));
        tblMeasurement.setModel(getTableModelMeasure());
     


      this.show();

is nur ne kleine frage aber ich steh da auf dem schlauch... :suspekt:
 
Schau bitte in dem Unterforum Swing / AWT / SWT, dorthin hatte ich Deine letzt Anfrage bereits verschoben.
 
Shizzl_chrizzl hat gesagt.:
Leude hab ne kurze Frage. Ich hab 2 Klassen die eine repräsentiert n Panel wo Comboboxen drauf sind und die andere ein JTable. Nun will ich im JTable einen String der das jeweils ausgewählte Item in der Combobox im Panel anzeigt. Nun weis ich nicht wie ich die Klasse Panel rüberbekomme so das er die Comboboxen erkennt und die Items in den string lädt.

Könnt ihr mir schnell in die folgende Quellcodes reinschreiben wie das .

is nur ne kleine frage aber ich steh da auf dem schlauch... :suspekt:

Moin,
- schnell reinschreiben kann höchstens Thomas, er scheint für sowas genug Zeit zu haben. ;)

- Was ich an Deiner Stelle machen würde:
1. Egal ob im Panel oder nicht, die Combobox wird sich im gleichen Frame befinden wie die Tabelle. Also hast Du in dem Frame sowohl eine Referenz zur Combobox als auch zur Tabelle. Also versiehst Du die Combobox mit einem ActionListener und rufst in der actionPerformed sowas in der Art auf:
Code:
myTable.getModel().setNewString(myCombobox.getSelectedItem().toString());
2. Das heisst, in Deinem TableModel implementierst Du diese setNewString(String newString) selbst.
3. Darin setzt Du entweder in dem der Tabelle hinterliegenden Datenmodell den übergebenen String an die richtige Stelle, oder Du rufst ein setValueAt(...) mit den richtigen Daten auf. Sauberer ist ersteres.
4. Schliesslich beendest Du die setNewString Implementierung mit einem fireTableDataChanged()
 

Neue Beiträge

Zurück