Index von Combobox

sylo

Bekanntes Mitglied
Hi

Verstehe dein Frage nicht ganz. Wenn du den Index des ausgewählten Indizes haben willst, gibt es die Methode getSelectedIndex().
Return ist ein int und das kann man an andere Methoden übergeben.

Grüße
sylo
 

mr_xxl

Mitglied
Java:
public void ActionPerformed(java.awt.event.ActionEvent evt) {
              int i = combobox1.getSelectedIndex();
        
            //    System.out.println(I);
    }
Aber diese Methode ist doch void und zurückgeben mit return geht es nicht
 
Zuletzt bearbeitet:

sylo

Bekanntes Mitglied
Hi

Das ist der ActionListener. Wenn dann musst die den Index in der Methode actionPerformed an die gewünschte Methode übergeben.

Oder du machst dein int I global.

Grüße
sylo
 

sylo

Bekanntes Mitglied
Hi

kannst du deine Frage bitte nochmal stellen, ich verstehe das Problem nicht ganz. Vielleicht mit ein wenig Code.

Grüße
sylo
 

mr_xxl

Mitglied
Ich habe im class2 ein ComboBox mit drei Auswahlmöglichkeiten. Diese werden von ActionListner überwacht:
Java:
public void ActionPerformed(java.awt.event.ActionEvent evt) { 
              int i = combobox1.getSelectedIndex(); 
        
            //    System.out.println(I); 
    }

public static geti(){
//wie kann ich auf i zugreifen
return i;
}

In anderem Class1 habe ich Methode, die z.B. so aussieht:
Java:
public static double [][] Ediff(int index)throws IOException{
        int length =20;

        double[]a= class1.a ();
        double[]b= class1.b ();
        double[]c=class1.c();
        int j= class2.getI();
        for ( int i=0;i <length;i++){

            f [j][i]=a[i];
            f [j][i]=b[i];
            f [j][i]=c[i];

            System.out.println(f[1][i]);
        }
        return f;
    }
Also was ich brauche ist die Methode geti(), die mir den Index von Combobox zurückgibt.
 

sylo

Bekanntes Mitglied
Hi

in class2 würde ich dann deine Variable i global definieren:

Java:
public class class2{

    private static int i;

    public void ActionPerformed(java.awt.event.ActionEvent evt) { 
              i = combobox1.getSelectedIndex(); 
        
            //    System.out.println(I); 
    }
 
    public static geti(){
        return i;
    }
}
Wobei man hier aufpassen müsste ob es sinnvoll ist die Methode static zu machen.

In Class1 kannst du dann einfach darauf zugreifen. Wenn du die Methode nicht static machst, brauchst halt ein Objekt.

Grüße
sylo
 

mr_xxl

Mitglied
Danke für die super schnelle Antwort. So habe ich schon probiert und ich erhalte bei der Zeile mit
Public static geti() die Meldung invalid method declaration; return type required und bei return i steht cannot return a value from method whose result type is void
 

sylo

Bekanntes Mitglied
Hi

Sorry. Natürlich. Hab ich übersehen.
Wenn es dich nicht stört, dann lass die Mehtode einfach weg. Mach aus der Variablen ein public

Java:
public static int i;

und greif auf die Variable von class1 aus mit
Java:
Class2.i
zu.

Grüße
sylo
 

sylo

Bekanntes Mitglied
Hi

aber ich habe so ein Gefühl, dass meine i=0 und ändert sich nicht
:)

Was meinst du mit so ein Gefühl? Hast du deiner ComboBox den ActionListener hinzugefügt? Also sowas wie:

Java:
comboBox.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				i = combobox1.getSelectedIndex();
			}
		});

Wenn ja, kannst du ja mit System.out.println dir die Indizes mal ausgeben lassen und schauen ob sich i ändern wenn du die ComboBox benutzt.

Java:
public void actionPerformed(ActionEvent e) {
	i = combobox1.getSelectedIndex();
        System.out.println(i);
}

Grüße
sylo
 

dirk1970

Mitglied
hallo,

erstmal macht es wenig Sinn die Variable i static zu machen, ebensowenig die ZugriffsMethode,
zweitens vergib sinnvolle Variablen- und Methodennamen,
drittens kann es nicht gehen, da du deine Klasse nicht als Actionlistener an der Combobox angemeldet hast, dazu müsste deine Klasse auch das Interface actionlistener implementieren, d.h. die Methode wird nie aufgerufen, wo ist denn deine Combobox? ich würde eher ItemListener nehmen, sollte aber wurst sein

Java:
public class class2 implements ActionListener{
 
    private int auswahl;
 
    public void ActionPerformed(java.awt.event.ActionEvent evt) { 
              auswahl= combobox1.getSelectedIndex(); 
        
            //    System.out.println(I); 
    }
 
    public  getAuswahli(){
        return auswahl;
    }
}

und dann da wo du die Combobox hast, da wirst Du ja eine iniMethode oder was ähnliches haben

Java:
private class2 auswahlHandler=null;

....
private void init(){
....
auswahlHandler=new class2();
combobox.addActionListener(auswahlHandler);
...
}
nun kannst Du an geeigneter Stelle über das Object auswahlHandler mit getAuswahl auf Deine Auswahl zugreifen
 

mr_xxl

Mitglied
das mit System.out.println (i); habe ich schon gemacht, da funktioniert es, aber im class1 kommt die i nicht an. Also wenn ich Programm starte, wird zuerst mit i=0 gerechnet und dann kommen keine Änderungen, wenn ich in ActionListner nicht System.out.println (i) stehen habe.

Das Programm rechnet den Code einmal durch, deswegen ist i=0 (da noch kein Auswahl gemacht worden ist) und i wird als 0 ausgegeben, wenn dann Swing startet, werden die Änderungen im Box von class1 nicht wahrgenommen.
 
Zuletzt bearbeitet:

sylo

Bekanntes Mitglied
Hi

so hab dir jetzt mal ein kleines Programm geschrieben. Ist nur auf die schnelle gemacht, also nicht über die Performance schimpfen :D:D

Class1:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class class1 {
	
	public static void main(String[] args){
		JFrame frame = new JFrame("Beispiel");
		frame.setSize(200,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		class2 test = new class2();
		
		JPanel panel = new JPanel();
		final JLabel label = new JLabel();
		
		panel.add(label);
		panel.add(test.getCombo());
		
		JButton button = new JButton("get i");
		button.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				label.setText(String.valueOf(class2.i));
			}
		});
		panel.add(button);
		frame.getContentPane().add(panel);
		frame.setVisible(true);
		
	}
}

Und Class2:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;


public class class2 {
	public static int i = 0;
	
	JComboBox combo = new JComboBox();
	
	public JComboBox getCombo(){
		Object[] items = new Object[4];
		items[0] = "Null";
		items[1] = "Eins";
		items[2] = "Zwei";
		items[3] = "Drei";
		combo.addItem(items[0]);
		combo.addItem(items[1]);
		combo.addItem(items[2]);
		combo.addItem(items[3]);
		combo.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				i = combo.getSelectedIndex();	
			}
		});
		return combo;
	}
}

Grüße
sylo
 

mr_xxl

Mitglied
Ich weiß jetzt wo mein Problem wahrscheinlich liegt. Ich habe die grafische Oberfläche mit NetBeans (Desktopanwendung) gemacht und das ist bei mir class2 mit allen dazugehörigen Sachen wie Box und ActionListner. Im class1 hatte ich die ganze Berechnungen gehabt, die ich jetzt in class2 rüber packen will, und in main in class1 bleibt launch(class1.class, args); stehen.
 
T

Tomate_Salat

Gast
Klassennamen GROß schreiben:
Java:
public class Class1 {

und Class1 ist keine Sinnvolle bezeichnung. Über den Namen der Klasse sollte man schon ein wenig Erfahren, um was es sich handelt.

ist bei mir class2 mit allen dazugehörigen Sachen wie Box und ActionListner. Im class1 hatte ich die ganze Berechnungen gehabt, die ich jetzt in class2 rüber packen will, und in main in class1 bleibt launch(class1.class, args); stehen.

Wenn ich das richtig verstanden habe: aktuelle Struktur:
class2 enthält gui-Elemente
class1 enthält main + logik.

und du willst jz außer die main in class2 packen? Ist nicht sehr übersichtlich. Schau dir mal MVC an. Das ist nicht gerade einfach, aber ist sicherlich nicht verkehrt, wenn du schonmal davon gehört hast.

MFG

Tomate_Salat
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
J index im Array aussuchen AWT, Swing, JavaFX & SWT 1
L Array mit JButton, wie rausfinden auf welche JButton geklickt wurde + index des JButtons ausgeben AWT, Swing, JavaFX & SWT 4
T Swing Index für Komponente in JPanel? AWT, Swing, JavaFX & SWT 6
S JList Index finden AWT, Swing, JavaFX & SWT 6
L JTableModel - Zeilen mit eigenem Index ausstatten AWT, Swing, JavaFX & SWT 4
W Swing Bei einem 2-dimensionalen array, bei mouseClicked index zuordnen AWT, Swing, JavaFX & SWT 2
L Swing JTabbedPane - Index vom Tab AWT, Swing, JavaFX & SWT 3
Iron Monkey JPopupMenu/JMenuItem Index für getSubElements()[] ermitteln AWT, Swing, JavaFX & SWT 8
V JComboBox gleicher Inhalt bedeutet gleicher Index? AWT, Swing, JavaFX & SWT 7
P JList Index Ändern Problem AWT, Swing, JavaFX & SWT 4
F An eindeutigen Index eines Tabs in einer JTabbed Pane kommen AWT, Swing, JavaFX & SWT 3
V Vector->TableModel->RowSorter:Bei Markierung Index im AWT, Swing, JavaFX & SWT 2
I JList scrollt nicht zum selektierten Index AWT, Swing, JavaFX & SWT 2
P 2 Probleme mit Panel: index setzten und transparenz AWT, Swing, JavaFX & SWT 4
D JTextFields in Vektor: index auslesen AWT, Swing, JavaFX & SWT 10
R ListSelectionListener + index? AWT, Swing, JavaFX & SWT 15
P JList: Ausgewählten Index anzeigen AWT, Swing, JavaFX & SWT 6
M jLabel per Index ansprechen? AWT, Swing, JavaFX & SWT 8
Student Drag & Drop: Index nach verschieben herausfinden AWT, Swing, JavaFX & SWT 3
sliwalker MouseEvent,JKomponente aus Array: Wie bekommt man den Index AWT, Swing, JavaFX & SWT 2
M Index von verschobenen Spalten (JTable) AWT, Swing, JavaFX & SWT 19
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
T Combobox mit Autocomplete-Funktion AWT, Swing, JavaFX & SWT 7
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
Doppel JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
P JavaFX ClassCastException bei ComboBox.getValue AWT, Swing, JavaFX & SWT 4
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
L JavaFX Wiederspenstige ComboBox AWT, Swing, JavaFX & SWT 0
P Combobox und Enum AWT, Swing, JavaFX & SWT 3
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
offi Combobox in TableCell AWT, Swing, JavaFX & SWT 1
D Javafx Combobox Abfrage aus mysql AWT, Swing, JavaFX & SWT 8
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
MrSnake ComboBox-Einträge werden unsichtbar AWT, Swing, JavaFX & SWT 0
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
M JavaFX Combobox bindBidirectional AWT, Swing, JavaFX & SWT 4
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
M JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
J ComboBox als Filter benutzen AWT, Swing, JavaFX & SWT 1
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
U Combobox mit individuellen Texten AWT, Swing, JavaFX & SWT 5
M JavaFX Combobox - Item Auswahl mit Tasten AWT, Swing, JavaFX & SWT 8
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
C Beschriftungen von Tabellenspalten mit Combobox aussuchen AWT, Swing, JavaFX & SWT 2
G JavaFX ComboBox .getItems().add() Problem AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
W Swing Combobox Abhängigkeit AWT, Swing, JavaFX & SWT 1
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
B Erstellen eigener Combobox ("CellFactory") AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
J Swing Drive-ComboBox AWT, Swing, JavaFX & SWT 7
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
L Swing Model für ComboBox AWT, Swing, JavaFX & SWT 14
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
T Java Combobox Problem AWT, Swing, JavaFX & SWT 3
C SWT Combobox mit Textdatei füllen AWT, Swing, JavaFX & SWT 2
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
R Datenbanktabellen in Combobox AWT, Swing, JavaFX & SWT 3
C Combobox bei Tabellenänderung mit aktualisieren AWT, Swing, JavaFX & SWT 11
1 CellEditor mit ComboBox richtig beenden AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
E Swing CellEditor mit Combobox durch Tastatureingabe editieren?! AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
F Wert zu Eintrag in ComboBox speichern?! AWT, Swing, JavaFX & SWT 7
P Swing ComboBox(en) in JTable auslesen und ausgeben AWT, Swing, JavaFX & SWT 11
L ComboBox in Action AWT, Swing, JavaFX & SWT 4
D ComboBox & CellListRenderer AWT, Swing, JavaFX & SWT 6
D ComboBox-Model mit Observer AWT, Swing, JavaFX & SWT 3
B Taschenrechner mit ComboBox AWT, Swing, JavaFX & SWT 7
T ComboBox auslesen AWT, Swing, JavaFX & SWT 11
P Combobox liesst falschen Wert AWT, Swing, JavaFX & SWT 10
C Combobox im JFrame aus Datenbank befüllen AWT, Swing, JavaFX & SWT 6
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
M Swing ComboBox ein SelectedItem übergeben/anzeigen AWT, Swing, JavaFX & SWT 7
J Werte aus Combobox speichern AWT, Swing, JavaFX & SWT 3
J Combobox als Filterkriterium (Gruppierung) in JTable AWT, Swing, JavaFX & SWT 7
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen


Oben