Combobox füllen mit Wertausgabe von andere Klasse

Diskutiere Combobox füllen mit Wertausgabe von andere Klasse im Java Basics - Anfänger-Themen Bereich.
J

jdi

Hallo,

Habe bereits Erfahrung mit VBA gesammelt und möchte mich jetzt in Java probieren und stehe jetzt auf Schlauch.

Habe zwei Klassen in gleichem package
Klasse1(F1.java).GUI mit combobox1 auf Form1
Klasse2(Auswertung.java). mit Methode wo Werte aus Excel Tabelle ausliest

public class Klasse2()

public void read()
...code
var Wert =cell.getContents();

System.out.print(Wert);

Console:
1234567
die Console zeigt die Werte von Exceltabelle, so weit so klar.


wie übertrage ich nun die Werte in combobox ? in VBA war das mit einem einzigen Code möglich Form1.combobox1. additem Wert.

Wenn ich versuche statt System.Out.print(Wert)
Form1.combobox1.setitem(Wert) dann schimpft Compiler dass combobox1 not a field.

Muss man dann Getter und Setter erstellen? dass ist aber irgendwie umständlich was ist wenn ich mehrere Comboboxen habe?

Danke für jede Antwort

Java:
package my.form;

Import jxl.*;
public class Auswertung {

    private String inputFile;

    public void setInputFile(String inputFile) {
        this.inputFile = inputFile;
    }

    public void read() throws IOException  {
  
        File inputWorkbook = new File(inputFile);
        Workbook w;

        try {
            w = Workbook.getWorkbook(inputWorkbook);

            Sheet sheet = w.getSheet(0);
        
        
        int  j = 4;
                
                for (int i = 0; i < sheet.getRows(); i++) {
              
                    Cell cell = sheet.getCell(j, i);
            
                    CellType type = cell.getType();
    
                    if (type == CellType.LABEL) {
                
                        System.out.println(cell.getContents());

                
                    }

                    if (type == CellType.NUMBER) {
  
                         var  a = cell.getContents();
                
                         System.out.println(a);
//hie mein Problem                     
                        F1.combo1.setitem(a);
                    
                         }
                    }
            

        } catch (BiffException e) {
            e.printStackTrace();
        }

    }



    public static void main(String[] args) throws IOException {
        Auswertung test = new Auswertung();
        test.setInputFile("c:/test/test.xls");
        test.read();

    }

}
 
Zuletzt bearbeitet:
mihe7

mihe7

in VBA war das mit einem einzigen Code möglich Form1.combobox1. additem Wert.
Verabschiede Dich von der Vorstellung, in Java würde man wie in VBA programmieren können. VBA macht es einfach, Murks zu produzieren, z. B. ist es einfach möglich, Programme zu schreiben, in denen von beliebiger Stelle im Code auf ein beliebiges Feld in einem beliebigen Formular zugegriffen wird.

Muss man dann Getter und Setter erstellen? dass ist aber irgendwie umständlich was ist wenn ich mehrere Comboboxen habe?
Du erstellst keine Getter für die ComboBox sondern für die Daten. Die Anwendungslogik schiebt die Daten nicht in das UI, sondern das UI zieht sich die Daten aus der Logik. Wenn Du also der Klasse Auswertung einen Getter spendierst, kannst Du das Ergebnis in zig ComboBoxen verwenden.
 
J

jdi

Verabschiede Dich von der Vorstellung, in Java würde man wie in VBA programmieren können. VBA macht es einfach, Murks zu produzieren, z. B. ist es einfach möglich, Programme zu schreiben, in denen von beliebiger Stelle im Code auf ein beliebiges Feld in einem beliebigen Formular zugegriffen wird.


Du erstellst keine Getter für die ComboBox sondern für die Daten. Die Anwendungslogik schiebt die Daten nicht in das UI, sondern das UI zieht sich die Daten aus der Logik. Wenn Du also der Klasse Auswertung einen Getter spendierst, kannst Du das Ergebnis in zig ComboBoxen verwenden.

Hallo,

Verstehe ich richtig ich muss in Klasse Auswertung für die Variable Wert ( Die liefert ja mir Werte von Excel mit cell.getcontents) einen Getter erstellen.

Habs versucht aber irgendwie erkennt Compiler die Variable nicht. Wann wird denn die Variable aus Speicher rausgelöscht? mit ende von read Method? kann ich auch getter direkt in IF Anweisung schreiben?

Ich glaub ich muss Grundlagen lernen, welches Buch kannst du empfehlen?
 
mihe7

mihe7

Ich glaub ich muss Grundlagen lernen, welches Buch kannst du empfehlen?
Das ist eine gute Idee, allerdings kann ich Dir kein Buch nennen. Benutz mal die Suchfunktion des Forums, es gab diesbezüglich hier schon einige Threads dazu (mit den Begriffen Literaturempfehlung oder Bücher solltest Du einiges finden)

Verstehe ich richtig ich muss in Klasse Auswertung für die Variable Wert ( Die liefert ja mir Werte von Excel mit cell.getcontents) einen Getter erstellen.

Habs versucht aber irgendwie erkennt Compiler die Variable nicht. Wann wird denn die Variable aus Speicher rausgelöscht? mit ende von read Method? kann ich auch getter direkt in IF Anweisung schreiben?
Das funktioniert ganz ähnlich zum Klassenmodul in VB: es gibt z. B. Instanzvariablen, die man - wie in VB - außerhalb von Methoden (Sub/Function) deklariert und es gibt lokale Variablen, die nur innerhalb der Methode existieren.
 
Thema: 

Combobox füllen mit Wertausgabe von andere Klasse

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben