Auf TextFeld aus anderer Klasse zugreifen ohne es zu übergeben

Nisbo

Bekanntes Mitglied
Servus,

ja ich weiß diese Frage ist vermutlich sehr peinlich aber ich stehe da auf dem Schlauch und weiß auch nicht so recht wie ich danach googeln soll. Ich habe zwar eine Lösung gefunden aber das muss doch auch anders gehen.

Das hier ist meine ausgelagerte Klasse
Java:
public class ScanList {
   private String scanListName;
   
   public ScanList(String scanListName, DefaultListModel<String> scanListListModell){
     this.scanListName = scanListName;
     scanListListModell.addElement(this.scanListName);
   }

   // Setter
   public void setScanListName(String scanListName) {
     this.scanListName = scanListName;
   }

   // Getter
   public String getScanListName() {
     return scanListName;
   }
}
Aufruf in der MainClass
Java:
new ScanList(textFieldScanListName.getText(), scanListListModell);
textFieldScanListName.setText("");

Ich möchte wenn ich eine neue ScanList erstellt habe auch dazu die JList aktualisieren, bzw das Model dazu. Das funktioniert mit dem oben stehenden Code auch aber irgendwie muss es doch auch anders gehen als das ich immer das DefaultListModel mit übergeben muss.
Ich würde nämlich auch gerne das clearen des Eingabefeldes
textFieldScanListName.setText("");
auslagern, aber da muss ich dann ja auch wieder das TextField mit übergeben
 
Wie wärs mit soetwas?
Java:
public class ScanList {
  private String scanListName;
 
  public ScanList(String scanListName) {
    this.scanListName = scanListName;
  }

  public void setScanListName(String scanListName) {
    this.scanListName = scanListName;
  }

  public String getScanListName() {
    return scanListName;
  }
}
Java:
String text = textFieldScanListName.getText();
ScanList sl = new ScanList(text);
scanListListModell.addElement(text);
 
@Flown
Ja so habe ich es jetzt auch gelöst aber es wird jetzt irgendwann mal zu viel Code in meiner MainClass

Java:
    private void addScanList() {
        ScanList sl = new ScanList(textFieldScanListName.getText());
        arrayListScanLists.add(sl.getScanListName());
        textFieldScanListName.setText("");
      
        Collections.sort(arrayListScanLists);
        comboBoxScanListTS1.removeAllItems();
        comboBoxScanListTS2.removeAllItems();
        comboBoxScanListFM.removeAllItems();
        scanListListModell.clear();
      
        for(String scanList: arrayListScanLists){
            comboBoxScanListTS1.addItem(scanList);
            comboBoxScanListTS2.addItem(scanList);
            comboBoxScanListFM.addItem(scanList);
            scanListListModell.addElement(scanList);
        }
    }
 

Zurück
Oben