JComboBox mit Ergebnis einer SQL Abfrage füllen

Sabrina2612

Mitglied
Hallo Leute,

ich möchte gerne eine JComboBox mit einer SQL Ergebnis (Resultset) füllen.

Ich möchte in der ersten Dropbox die Tabelle Fach auslesen (nur Name) dann soll man in der Vorlesung Dropbox die zugehörigen Fächer auslesen. Die Datenbank is so realisiert:
Eine Tabelle Fach, Vorlesung, Kombi FV (Für Fach + Vorlesung) Es gibt pro Fach mehrere Vorlesungen.

Habt Ihr eine Idee. Meine GUI steht schon. Kann den Code gerne auf Anfrage posten.

LG Sabrina
 

Sabrina2612

Mitglied
Hallo nochmal,

es wäre sehr nett wenn mir jemand sobald wie möglich antworten könnte.
Es geht hier um ein Uni Projekt, ich würde hier auch nix posten wenn ich nicht selbst schon gesucht hätte.

Lg Sabrina
 
S

SlaterB

Gast
was soll man zu so einer allgemeinen Frage sagen?
irgendwo besteht ein Programm aus Code, dort lädst du Daten aus der DB und schreibst sie in die Comboboxen, genau so wie benötigt,
fertig, brachte dich dieser Satz weiter?
wenn du dazu Detailfragen hast musst du sie stellen, es sind hundert Dinge zu beachten, allein alles zu Datenbanken, alles zur GUI, das ganze zusammenführen, sicherlich zig bis hunderte Zeilen Code und Stunden Arbeit,

aber da kann man keine generellen Tipps geben, außer nach Möglichkeit alles separat zu testen,
die DB-Abfragen in einem Konsolen-Programm ohne sich mit der GUI zu belasten,
die GUI-Vorgänge erstmal mit Dummy-Daten durchspielen, ohne gleichzeitig am SQL zu hadern,
wenn alle Einzelteile funktionieren, dann zusammenbringen

es ist nicht ganz klar, ob bei der Auswahl in einer Box noch weitere spezielle DB-Abfragen ausgeführt und Ergebnisse in andere Strukturen geschrieben werden, wenn ja dann ist das an sich auch ein normaler Vorgang:
an die erste JComboBox gehört ein Listener, der reagiert auf die Auswahl eines Faches mit einer Datenbankabfrage und schreibt die Ergebnisse wohin auch immer

nichts spannendes bisher
 
Zuletzt bearbeitet von einem Moderator:

Sabrina2612

Mitglied
Ich habe es mir so gedacht. Ich habe die ComboBox Fach, diese soll mit dem Ergebnis folgender SQL Abfrage gefüllt werden:
SELECT Name FROM Fach
Nun soll der Benutzer in der ComboBox ein Fach auswählen und zu dem entsprechenden Fach die Vorlesungen ausgeben.
Somit muss man ein SQL Befehl abhängig von dem ausgewählten ausführen um in der ComboBox Vorlesung die entsprechenden Vorlesungen anzuzeigen.
Der SQL Befehl würde eventuell so lauten:
SELECT Name FROM KombiFV WHERE ID= Auwahl (Auwahl = das ausgewählte Fach --> ID)

Hoffe das war jetzt spezifischer.

Den Listener für die ComboBox brauch ich ja um das selected Item auszulesen, das kann ich ja dann in die zweite SQL Abfrage einbinden als Variable.
BZH vorher noch herausfinden welche ID hinter dem ausgewählten Fach steht.

LG Sabrina
 
S

SlaterB

Gast
das sind schon mehr Infos, in der Tat,

du kannst entweder am Anfang die Ids zu den Fächern merken, per Map oder gleich richtiges Fach-Objekt statt nur String in Combobox,
oder später die SQL-Query so bauen dass sie mit dem Fach-Namen auskommt, der ja hoffentlich ausreicht, Join über Fach-Tabelle

[c]select * from KombiFV k, Fach f where k.id = f.id and f.name = ?[/c]

wie du überhaupt ein Info, ob Name oder Id, in eine SQL-Abfrage rein bekommst, ist nicht deine Frage, oder?
zu empfehlen ist gleich PreparedStatement
 

Sabrina2612

Mitglied
Ok das mit dem prepared Statement hatte ich auch vor. Jetzt ist eher meine Frage wie mache ich das, wenn ich ein Fach auswähle in der ComboBox Fach soll er dann in der ComboBox Vorlesung die entsprechenden Vorlesungen zu dem Fach laden. Wie kann ich sowas programmieren. Muss ich das über selectedItem machen. Er soll mir das ja dynamisch laden oder?

LG Sabrina
 

Sabrina2612

Mitglied
Also nochmal so als Grundinfo.
Das ganze ist ein Verwaltungsprogramm.
EIn Professor wird von einem Administrator angelegt und einem Fachbereich zugeordnet. (Teil1)
Der prof kann nun nach einem Login(Teil2) ein Fach erstellen(Teil3).
Zu dem Fach dann mehrere Vorlesungen.(Teil4)
Zu den Vorlesungen Fragen+Antworten .(Teil5)
Es ist etwas kompliziert aber ich weiß ja im prinzip wie ich es mache auch mit den Abfragen ich häng halt nur an dem Füllen der ComboBoxen die ja abhängig voneinander sind.

Hoffe ich konnte es einigermaßen verständlich beschreiben.

Lg Sabrina
 
S

SlaterB

Gast
ein Listener auf die Box, natürlich das selektierte Element anschauen, Query ausführen usw.
 

Sabrina2612

Mitglied
Ok dankeschön kann es zwar jetzt nicht wirklich so übernehmen. Ich poste dir hier mal grade meinen Code könntest du mir dann sagen wo ich was reinmachen muss. Das wäre echt nett.

Danke für die Mühe.

Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;
import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;

public class FA_einegeben extends JFrame {
	
	//Variablen Deklaration
	JComboBox Fach;
	JComboBox Vorlesung;
	JTextField A_1;
	JTextField A_2;
	JTextField A_3;
	JTextField A_4;
	JTextField Frage_Eingabe;
	JButton Speicher_exit;
	JButton Speichern;

	public FA_einegeben() {
		
		//Fenster Informationen
		setTitle("*Fragen und Antworten eingeben*");
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		setVisible(true);

		try {
			//AnchorLayout für variable Fenstereinstellung der Komponenten
			AnchorLayout thisLayout = new AnchorLayout();
			getContentPane().setLayout(thisLayout);

			{
				//Auswahl Fach
				ComboBoxModel FachModel = 
					new DefaultComboBoxModel(
							new String[] { "Fach" });
				Fach = new JComboBox();
				getContentPane().add(Fach, new AnchorConstraint(1, 502, 103, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Fach.setModel(FachModel);
				Fach.setPreferredSize(new java.awt.Dimension(209, 35));
			    Fach.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }
			      } );
			}

			{
				//Auswahl Vorlesung
				ComboBoxModel VorlesungModel = 
					new DefaultComboBoxModel(
							new String[] { "Vorlesung" });
				Vorlesung = new JComboBox();
				getContentPane().add(Vorlesung, new AnchorConstraint(1, 973, 103, 502, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Vorlesung.setModel(VorlesungModel);
				Vorlesung.setPreferredSize(new java.awt.Dimension(208, 35));
			    Vorlesung.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }
			      } );
				
			}
			
			{
				//Fragen Eingabe
				Frage_Eingabe = new JTextField();
				getContentPane().add(Frage_Eingabe, new AnchorConstraint(158, 500, 236, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Frage_Eingabe.setText("Bitte geben Sie eine Frage ein");
				Frage_Eingabe.setPreferredSize(new java.awt.Dimension(208, 27));
			}

			{
				//Antwort 1
				A_1 = new JTextField();
				getContentPane().add(A_1, new AnchorConstraint(283, 200, 364, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_1.setText("Antwort 1");
				A_1.setPreferredSize(new java.awt.Dimension(76, 28));
			}
			
			{
				//Antwort 2
				A_2 = new JTextField();
				getContentPane().add(A_2, new AnchorConstraint(399, 200, 481, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_2.setText("Antwort 2");
				A_2.setPreferredSize(new java.awt.Dimension(76, 28));
			}
			
			{
				//Antwort 3
				A_3 = new JTextField();
				getContentPane().add(A_3, new AnchorConstraint(515, 200, 594, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_3.setText("Antwort 3");
				A_3.setPreferredSize(new java.awt.Dimension(76, 27));
			}
			
			{
				//Antwort 4
				A_4 = new JTextField();
				getContentPane().add(A_4, new AnchorConstraint(629, 200, 707, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_4.setText("Antwort 4");
				A_4.setPreferredSize(new java.awt.Dimension(76, 27));
			}

			{
				//Speichern in die Datenbank
				Speichern = new JButton();
				getContentPane().add(Speichern, new AnchorConstraint(783, 212, 861, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Speichern.setText("Speichern");
				Speichern.setPreferredSize(new java.awt.Dimension(81, 27));

				Speichern.addActionListener(new ActionListener() {
					
					public void actionPerformed(ActionEvent e) {

						DB.Fragen.Einfügen();
						DB.Antwort.Einfügen();
						
						//Funktion für IDs erstellen? (mit SELECT von Tabellen) 
						
						DB.KombiFA.Einfügen();
						
					}
				});
			}
			
			{
				//Speichern in die Datenbank und Fenster schließen
				Speicher_exit = new JButton();
				getContentPane().add(Speicher_exit, new AnchorConstraint(783, 651, 861, 236, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Speicher_exit.setText("Speichern und schließen");
				Speicher_exit.setPreferredSize(new java.awt.Dimension(183, 27));
				
				Speicher_exit.addActionListener(new ActionListener() {
					
					public void actionPerformed(ActionEvent e) {
						
						DB.Fragen.Einfügen();
						DB.Antwort.Einfügen();
						
						//Funktion für IDs erstellen? (mit SELECT von Tabellen) 
						
						DB.KombiFA.Einfügen();
						System.exit(EXIT_ON_CLOSE);
						
					}
				});
				
			}
			
			{
				this.setSize(451, 374);
			}
			
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	
}



Das ist jetzt ein Beispiel wo der Dozent Fragen und Antworten zu einer ausgewählten Vorlesung abhängig vom Fach eingeben kann.

Lg Sabrina :)
 
C

Camino

Gast
Wegen dem Füllen der ComboBox: Ich hatte mir auch mal so etwas ähnliches erstellt, und da ich das an mehreren Stellen brauchte, hab ich mir eine eigene Klasse abgeleitet von JComboBox geschrieben. (Kannst du aber auch direkt in die Klasse schreiben, wo du die ComboBox brauchst.) In dieser Klasse wird eine Liste mit den entsprechenden Objekten (in meinem Beispiel Institut) von der Datenbank geholt und über ein DefaultComboBoxModel in die ComboBox hinzugefügt. In der toString-Methode der Objekte kannst du dann bestimmen, was in der ComboBox von dem Objekt angezeigt wird. Dann hast du in deiner ComboBox die Objekte drin und kannst mit
Code:
getSelectedItem()
und einem Cast auf das Objekt z.B. die ID holen.

Java:
public class ComboBoxInstitute
extends JComboBox {
	
	
	public ComboBoxInstitute() {
		
		DBHandler dbHandler = new DBHandler();
		
		// Holt die Liste der Institute von der Datenbank
		ArrayList<Institut> institutListe = dbHandler.getInstitutListe;
		
		DefaultComboBoxModel modelInstitute = new DefaultComboBoxModel();
		for(Institut i : institutListe)
			modelInstitute.addElement(i);
		
		// Der ComboBox wird das Model zugewiesen
		setModel(modelInstitute);
		
	}

}
 
S

SlaterB

Gast
du hast ComboBoxen, du hast Listener (ich sag jetzt nicht wo ;) )

Listener können beliebigen Code enthalten, füge eine Zeile Code nach der anderen ein, da ist überhaupt nix dabei,
ich werde das für dich ganz gewiss nicht machen
 

Sabrina2612

Mitglied
Ok kein Problem der andere Post hat mir jetzt doch geholfen. So hatte ich das ja auch nicht gemeint. Aber danke für die Mühe. Bin nur momentan total am Verzweifeln.

Lg und Danke
Sabrina
 

Sabrina2612

Mitglied
So ich habe jetzt hier rumprobiert und kriege es immer noch nicht hin.

Hier mein Code

Das is die GUI (Ausschnitt Fach auswählen in JComboBox)
Java:
				//Auswahl Fach
				Fach = new JComboBox();
				ArrayList items = new ArrayList();
			    Connection conn = null; 
				DB.MySQL_Connection.Treiber();
				DB.MySQL_Connection.Verbindung_Start();
				DB.MySQL_Connection.getConn();
				ResultSet result = MySQL_Connection.conn.executeQuery("SELECT Name FROM Fach");
				while (result.next())
					items.add(result.getString(1));
				result.close();
				DB.MySQL_Connection.Verbindung_Ende();			
				getContentPane().add(Fach, new AnchorConstraint(1, 502, 103, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Fach.setModel(new DefaultComboBoxModel(items.toArray()));
				Fach.setPreferredSize(new java.awt.Dimension(209, 35));
			    Fach.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }
			      } );

Das sind ide Funktionen der DB
Java:
package DB;
import java.sql.*; 
 
public class MySQL_Connection {
    
    final static String hostname = "localhost"; 
    final static String port = "3307"; 
    final static String dbname = "clicker"; 
    final static String user = "..."; 
    final static String password = "..."; 
    public static Connection conn = null; 
  

	public static void Treiber(){
        try { 
        	System.out.println("* Treiber laden"); 
            Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
        } 
        catch (Exception e) { 
        	System.err.println("Unable to load driver."); 
            e.printStackTrace(); 
        } 
    }
    
    public static Connection Verbindung_Start(){
        try { 
        	System.out.println("* Verbindung aufbauen"); 
            String url = "jdbc:mysql://"+hostname+":"+port+"/"+dbname; 
            conn = DriverManager.getConnection(hostname, user, password); 
        }
        catch (Exception e) { 
            System.err.println("Unable to connect."); 
            e.printStackTrace(); 
        } 
        return conn;
    }
    
    public static void Verbindung_Ende(){
        try {
        	System.out.println("* Verbindung geschlossen"); 
        } 
        catch (Exception e) { 
            System.err.println("Unable to close."); 
            e.printStackTrace(); 
        } 
    }
    

	public static void setConn(Connection conn) {
		MySQL_Connection.conn = conn;
		try {
			conn = DriverManager.getConnection(hostname, user, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}
    
    public static Connection getConn() {
		return conn;
	}
	
    public static void main(String[] args) { 
    
    	Treiber();
    	Verbindung_Start();
    	Verbindung_Ende();
    	
    }
        
}


Hoffe ihr könnt mir wieder etwas weiterhelfen.
 

Sabrina2612

Mitglied
Achja er gibt mir einen Fehler in dem GUI Code in Zeile 8 wegen dem executequery
Lösungsvorschlag wäre casten aber das hilft nix. Habe das gefühl dass conn nicht richtig übergeben wird.

PS der DB Code is eine extra Klasse. Wie kann man die Variable conn mit dem richtigen Wert übergeben an die GUI Klasse.
 
S

SlaterB

Gast
welche Fehlermeldung exakt?
wie sieht es nach dem Casten aus?

die Übergabe beliebiger Objekte von beliebig nach beliebig ist quasi immer dieselbe: im Konstruktor ein Parameter oder später per set-Methode,
innerhalb der Klasse in Attribut längerfristig speichern,

wenn die Information schon im Konstruktor benötigt wird, bleibt logischerweise nur eine der beiden Möglichkeiten


und unbedingt an Konventionen halten: Methoden, Variablen, packages klein schreiben (Treiber(), Fach, DB), nur Klassen groß
 
Zuletzt bearbeitet von einem Moderator:

Sabrina2612

Mitglied
Die Fehlermeldung lautet:
The Method excecuteQuery(String) is undefined for the typeConnection

Wie muss ich jetzt genau meine Methoden in MySQL Connection umschreiben. Würde halt gerne meine Methoden weiterhin so aufrufen erst Treiber ladenn dann verbindung start dann ein beliebiges statement und zum schluss wieder verbindung ende.

Würdet ihr das auch so vorschlagen?

Ich brauch halt diese Methoden immer wiedre in meinem Programm deswegen habe ich das so ausfgebaut und nicht in einem Konstruktor.


LG Sabrina
 
C

Camino

Gast
Die Methode executeQuery(String) gehört auch zum Statement und nicht zur Connection. Du musst mit Statement und ResultSet arbeiten...

Java:
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ...");
 

Sabrina2612

Mitglied
Ok habe das jetzt mal mit einem statement umgesetzt nun kommt aber ein fehler:
* Treiber laden
* Verbindung aufbauen
Unable to connect.
java.sql.SQLException: No suitable driver found for localhost
at java.sql.DriverManager.getConnection(DriverManager.java:640)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at DB.MySQL_Connection.Verbindung_Start(MySQL_Connection.java:29)
at FA_einegeben.<init>(FA_einegeben.java:69)
at clicker.actionPerformed(clicker.java:189)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
at java.awt.Component.processMouseEvent(Component.java:6203)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5968)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4564)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$2.run(EventQueue.java:622)
at java.awt.EventQueue$2.run(EventQueue.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
java.lang.NullPointerException
at FA_einegeben.<init>(FA_einegeben.java:70)
at clicker.actionPerformed(clicker.java:189)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
at java.awt.Component.processMouseEvent(Component.java:6203)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5968)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4564)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$2.run(EventQueue.java:622)
at java.awt.EventQueue$2.run(EventQueue.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)


Hier mein Code dazu:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

import DB.MySQL_Connection;

import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;
import com.mysql.jdbc.Statement;



/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit [url=http://www.cloudgarden.com]Cloud Garden (Java Resources)[/url] for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class FA_einegeben extends JFrame {
	
	//Variablen Deklaration
	JComboBox Fach;
	JComboBox Vorlesung;
	JTextField A_1;
	JTextField A_2;
	JTextField A_3;
	JTextField A_4;
	JTextField Frage_Eingabe;
	JButton Speicher_exit;
	JButton Speichern;

	public FA_einegeben() {
		
		//Fenster Informationen
		setTitle("*Fragen und Antworten eingeben*");
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		setVisible(true);

		try {
			//AnchorLayout für variable Fenstereinstellung der Komponenten
			AnchorLayout thisLayout = new AnchorLayout();
			getContentPane().setLayout(thisLayout);

			{
				//Auswahl Fach
				Fach = new JComboBox();
				ArrayList items = new ArrayList();
			    Connection conn = null; 
			    Statement statement = null;
				DB.MySQL_Connection.Treiber();
				DB.MySQL_Connection.Verbindung_Start();
				ResultSet result = statement.executeQuery("SELECT Name FROM Fach");
				while (result.next())
					items.add(result.getString(1));
				result.close();
				DB.MySQL_Connection.Verbindung_Ende();			
				getContentPane().add(Fach, new AnchorConstraint(1, 502, 103, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Fach.setModel(new DefaultComboBoxModel(items.toArray()));
				Fach.setPreferredSize(new java.awt.Dimension(209, 35));
			    Fach.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }
			      } );
			}

			{
				//Auswahl Vorlesung
				ComboBoxModel VorlesungModel = 
					new DefaultComboBoxModel(
							new String[] { "Vorlesung" });
				Vorlesung = new JComboBox();
				getContentPane().add(Vorlesung, new AnchorConstraint(1, 973, 103, 502, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Vorlesung.setModel(VorlesungModel);
				Vorlesung.setPreferredSize(new java.awt.Dimension(208, 35));
			    Vorlesung.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }
			      } );
				
			}
			
			{
				//Fragen Eingabe
				Frage_Eingabe = new JTextField();
				getContentPane().add(Frage_Eingabe, new AnchorConstraint(158, 500, 236, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Frage_Eingabe.setText("Bitte geben Sie eine Frage ein");
				Frage_Eingabe.setPreferredSize(new java.awt.Dimension(208, 27));
			}

			{
				//Antwort 1
				A_1 = new JTextField();
				getContentPane().add(A_1, new AnchorConstraint(283, 200, 364, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_1.setText("Antwort 1");
				A_1.setPreferredSize(new java.awt.Dimension(76, 28));
			}
			
			{
				//Antwort 2
				A_2 = new JTextField();
				getContentPane().add(A_2, new AnchorConstraint(399, 200, 481, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_2.setText("Antwort 2");
				A_2.setPreferredSize(new java.awt.Dimension(76, 28));
			}
			
			{
				//Antwort 3
				A_3 = new JTextField();
				getContentPane().add(A_3, new AnchorConstraint(515, 200, 594, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_3.setText("Antwort 3");
				A_3.setPreferredSize(new java.awt.Dimension(76, 27));
			}
			
			{
				//Antwort 4
				A_4 = new JTextField();
				getContentPane().add(A_4, new AnchorConstraint(629, 200, 707, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				A_4.setText("Antwort 4");
				A_4.setPreferredSize(new java.awt.Dimension(76, 27));
			}

			{
				//Speichern in die Datenbank
				Speichern = new JButton();
				getContentPane().add(Speichern, new AnchorConstraint(783, 212, 861, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Speichern.setText("Speichern");
				Speichern.setPreferredSize(new java.awt.Dimension(81, 27));

				Speichern.addActionListener(new ActionListener() {
					
					public void actionPerformed(ActionEvent e) {

						DB.Fragen.Einfügen();
						DB.Antwort.Einfügen();
						
						//Funktion für IDs erstellen? (mit SELECT von Tabellen) 
						
						DB.KombiFA.Einfügen();
						
					}
				});
			}
			
			{
				//Speichern in die Datenbank und Fenster schließen
				Speicher_exit = new JButton();
				getContentPane().add(Speicher_exit, new AnchorConstraint(783, 651, 861, 236, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Speicher_exit.setText("Speichern und schließen");
				Speicher_exit.setPreferredSize(new java.awt.Dimension(183, 27));
				
				Speicher_exit.addActionListener(new ActionListener() {
					
					public void actionPerformed(ActionEvent e) {
						
						DB.Fragen.Einfügen();
						DB.Antwort.Einfügen();
						
						//Funktion für IDs erstellen? (mit SELECT von Tabellen) 
						
						DB.KombiFA.Einfügen();
						System.exit(EXIT_ON_CLOSE);
						
					}
				});
				
			}
			
			{
				this.setSize(451, 374);
			}
			
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	
}
 
C

Camino

Gast
Fehlt das?
Java:
Statement stmt = conn.createStatement();
 

Sabrina2612

Mitglied
So ich habe das jetzt so umgesetzt. Allerdings kommen immer noch Fehler. Die Klasse FA_eingeben in der der Ausschnitt steht wird aufgerufen durch eine andere Klasse, die das Hauptfenster darstellt.
Java:
				//Auswahl Fach
				Fach = new JComboBox();
				ArrayList<String> items = new ArrayList();
			    DB.MySQL_Connection.Treiber();
				DB.MySQL_Connection.Verbindung_Start();
				Statement statement = DB.MySQL_Connection.createStatement();
				ResultSet result = statement.executeQuery("SELECT Name FROM Fach");
				while (result.next())
					items.add(result.getString(1));
				result.close();
				DB.MySQL_Connection.Verbindung_Ende();			
				getContentPane().add(Fach, new AnchorConstraint(1, 502, 103, 28, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				Fach.setModel(new DefaultComboBoxModel(items.toArray()));
				Fach.setPreferredSize(new java.awt.Dimension(209, 35));
			    Fach.addItemListener( new ItemListener() {
			        public void itemStateChanged( ItemEvent e ) {
			          JComboBox selectedChoice = (JComboBox)e.getSource();
			          if ( selectedChoice.getSelectedItem().equals("Ende") )
			            System.exit( 0 );
			        }

Fehlermeldung sieht so aus:

java.lang.NullPointerException
at FA_eingeben.<init>(FA_eingeben.java:69)
at clicker.actionPerformed(clicker.java:189)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
at java.awt.Component.processMouseEvent(Component.java:6203)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5968)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4564)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4390)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$2.run(EventQueue.java:622)
at java.awt.EventQueue$2.run(EventQueue.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
 
S

SlaterB

Gast
ist dir der Sinn einer NullPointerException bekannt? wenn nicht solltest du dir jetzt 5 Min. Zeit nehmen und dies lernen,
das ist mit Abstand die wichtigste und zugleich einfachste Exception überhaupt:
sie bedeutet dass du auf eine Variable zugreifst, in der null drinsteht, an null kann man keine Methoden aufrufen

aus dieser einfachen Erkenntnis folgt logisch scharf, dass der StackTrace, insbesondere die letzte Zeile,
> at FA_eingeben.<init>(FA_eingeben.java:69)
mit der Zeilennummer 69 extrem wichtig ist, in Zeile 69 findet der null-Zugriff statt

wenn du anderen Menschen einfach nicht verrätst, welche Zeile deines Codes die Zeile 69 ist, wie sollen dir andere Menschen dann helfen?
es ist nichtmal völlig klar, ob der gepostete Codeausschnitt überhaupt der Konstruktor von FA_eingeben ist,
darauf musst du achten, lieber ganze Klassen oder zumindest komplette Methoden/ Konstruktoren mit Signatur posten

gehe einfach in die Klasse FA_eingeben, gehe in Zeile 69 und finde heraus welches Objekt null ist
und wenn gefunden warum null oder warum es eigentlich nicht null sein sollte und was hat vorher anscheinend dafür zu sorgen hat aber offensichtlich nicht funktioniert
 
Zuletzt bearbeitet von einem Moderator:

Sabrina2612

Mitglied
Zeile 69 ist hier zeile 7 also folgendes : ResultSet result = statement.executeQuery("SELECT Name FROM Fach");
In meiner Datenbank steht schon ein Testeintrag in Tabelle Fach somit dürfte es auch keinen Null Pointer Fehler geben.
 
S

SlaterB

Gast
dann kann ja nur statement null sein, was eigentlich in der Zeile davor gesetzt wird..,
prüfe doch bitte zwischen diesen Zeilen per Ausgabe, ob statement null ist

das Connection-Objekt ist nicht von einer eigenen Klasse, oder?
 

Sabrina2612

Mitglied
Ich denke ma hier is das Problem dass statement = connection.createStatement() sein sollte, aber connection is in einer anderen Klasse und wird dort in der Funktion Verbindung_Start() initialisiert.
Jetzt weiß ich nicht wie ich das dort herausbekomme, habe ja extra eine Db Klasse MySQL Connection erstellt in der die Methoden Treiber() Verbindung_Start() und Verbindung_Ende() sind, sodass ich diese immer wieder verwenden kann.

Hast du da eine Idee. Sehr nett dass du benmüht bist mir zu helfen anscheinend sind mir doch ein paar sachen unklarer als gedacht.
 
S

SlaterB

Gast
ach so, dass ist auch nicht mehr Connection direkt, sondern MySQL_Connection.createStatement(),
muss also eine eigene Methode sein, die null zurückgibt (welches du noch nicht durch System.out.println() weiter bestätigt hast)

diese Methode musst du nun also unbedingt posten, wahrscheinlich besser die ganze Klasse,
 
C

Camino

Gast
Ich vermute mal, es liegt daran:
Java:
Statement statement = DB.MySQL_Connection.createStatement();
Du hast da ja nur die Klasse vor das createStatement geschrieben, brauchst aber natürlich auch noch die dortige Connection, also entweder conn oder getConnection().
Wahrscheinlich müsste es so aussehen:
Java:
Statement statement = DB.MySQL_Connection.conn.createStatement();
 

Sabrina2612

Mitglied
Ok also poste ich hier mal die aktuelle MySQL_Connection Klasse

Java:
package DB;
import java.sql.*; 

import com.mysql.jdbc.Statement;
 
public class MySQL_Connection {
    
    final static String hostname = "localhost"; 
    final static String port = "3307"; 
    final static String dbname = "clicker"; 
    final static String user = "sabrina"; 
    final static String password = "JSjp2pcXR7uFYC8u"; 
    public static Connection conn = null; 
  

	public static void Treiber(){
        try { 
        	System.out.println("* Treiber laden"); 
            Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
        } 
        catch (Exception e) { 
        	System.err.println("Unable to load driver."); 
            e.printStackTrace(); 
        } 
    }
    
    public static Connection Verbindung_Start(){
        try { 
        	System.out.println("* Verbindung aufbauen"); 
            String url = "jdbc:mysql://"+hostname+":"+port+"/"+dbname; 
            conn = DriverManager.getConnection(url, user, password); 
        }
        catch (Exception e) { 
            System.err.println("Unable to connect."); 
            e.printStackTrace(); 
        } 
        return conn;
    }
    
    public static void Verbindung_Ende(){
        try {
        	System.out.println("* Verbindung geschlossen"); 
        } 
        catch (Exception e) { 
            System.err.println("Unable to close."); 
            e.printStackTrace(); 
        } 
    }
    

	public static void setConn(Connection conn) {
		MySQL_Connection.conn = conn;
		try {
			conn = DriverManager.getConnection(hostname, user, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}
    
    public static Connection getConn() {
		return conn;
	}
	
    public static void main(String[] args) { 
    
    	Treiber();
    	Verbindung_Start();
    	Verbindung_Ende();
    	
    }

	public static Statement createStatement() {
		// TODO Auto-generated method stub
		return null;
	}
        
}

Ich habe schon angefangen getter und setter für connection zu erstellen. Habe jetzt die Befürchtung ich muss diese Klasse mit kompletten getter und setter für jede Variable erstellen. Kann das sein. wäre das ratsam. kann man nich dann auch so die Variablen in anderen Klassen direkt ansprechen um so Null Pointer zu vermeiden.
 
S

SlaterB

Gast
du hast eine NullPointerException und zwar ca eine Zeile nach Aufruf einer Methode mit Inhalt
Java:
    public static Statement createStatement() {
        // TODO Auto-generated method stub
        return null;
    }
die ich dir erst in 3 Postings aus der Nase ziehen muss?!
ok, bei so antiproduktiver Mitarbeit ist auch meine Geduld irgendwann zu Ende, ich schreib jetzt erstmal nicht weiter..
 

Sabrina2612

Mitglied
Sorry wollte dich nicht verärgern hab das alles anscheinend falsch gelernt. Ich will auch nur weiterkommen. Wollte auch nur wissen ob meine Idee jetzt richtig is oder nicht. aber ist schon ok ich versuche das jetzt mal auch ohne Hilfe
 
C

Camino

Gast
Ich hatte die Lösung doch gerade schon geschrieben. Die Methode createStatement würde ich aus der MySQL_Connection wieder löschen. Und warum da eine main-Methode drinsteht, weiss ich auch nicht.

Ich vermute mal, dass dir Eclipse vorgeschlagen hat, die Methode createStatement dort anzulegen und dies dann auch auf deinen Wunsch automatisch gemacht hat. Das liegt daran, dass die Methode createStatement zur Connection gehört, die bei dir vorhin gefehlt hatte. Also, einfach diese Methode wieder dort rauslöschen und die Connection einfügen, wie ich es vorhin geschrieben hatte, dann müsste es eigentlich funktionieren.
 
Zuletzt bearbeitet von einem Moderator:
C

Camino

Gast
Hmm, und nun? Hast du das mal so probiert, wie ich geschrieben hatte? Funktioniert es? Brauchst oder willst du nun keine weitere Hilfe mehr? Na ja, hab nun auch gleich keine Zeit mehr...
 

Sabrina2612

Mitglied
Danke an Camino damit geht es. Danke ganz besonders an SlaterB du hast mir auch sehr geholfen. Die Befüllung funktioniert jetzt muss ich nur die andere ComboBox und deren Befüllung abhängig machen von dem was ich in Fach ComboBox ausgewählt habe. Wenn Ihr da schon Ideen habt wie man das mit getselectedItem lösen kann wäre ich froh wenn ihr mir tipps geben könnten.

Falls Ihr mir noch Tipps geben wollt.
Ich werde mich dann nochmal in den Semesterferien falls nicht zuviel Arbeit ansteht nochmal instensiv einem Java Kurs unterziehen.


Danke um die Mühe.


Lg Sabrina
 
Zuletzt bearbeitet:
S

SlaterB

Gast
im Zweifel gar beides (dann aber hier auf das neue Thema verlinken),
hier schauen wohl nicht mehr viele rein
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 4
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
N Keylistener & JComboBox AWT, Swing, JavaFX & SWT 5
R JComboBox abfragen AWT, Swing, JavaFX & SWT 1
Esquid If Befehl bei JComboBox AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
D JComboBox Strings aus JTextFields zuordnen AWT, Swing, JavaFX & SWT 2
F JComboBox und Model AWT, Swing, JavaFX & SWT 10
I Editierbare JComboBox, die nur Ganzzahlen als Eingabewerte zulässt AWT, Swing, JavaFX & SWT 3
Drachenbauer Swing Wie ändere ich die Farbe der Konturen von jButton und jCombobox? AWT, Swing, JavaFX & SWT 18
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
Hatsi09 JCombobox default wert AWT, Swing, JavaFX & SWT 6
D Swing JCombobox Aktion löscht Grafik AWT, Swing, JavaFX & SWT 1
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
D Swing JCombobox Weiße Leerzeilen AWT, Swing, JavaFX & SWT 10
G JComboBox: Arrow-Button permanent anzeigen AWT, Swing, JavaFX & SWT 4
D Swing Java JComboBox Example AWT, Swing, JavaFX & SWT 16
K Swing JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 4
D Swing "blaues" Element aus JComboBox erhalten AWT, Swing, JavaFX & SWT 6
F JComboBox und Einträge AWT, Swing, JavaFX & SWT 3
gamillton Swing JComboBox mit extra Inhalt + breiteres Popupmenü AWT, Swing, JavaFX & SWT 0
T JPanelsteuerung mit JComboBox AWT, Swing, JavaFX & SWT 5
N Swing Duplikate im Jcombobox vermeiden AWT, Swing, JavaFX & SWT 15
L Swing JComboBox kann nicht erstellt werden! AWT, Swing, JavaFX & SWT 2
C JComboBox Objecte übergeben und Eintrag auswählen AWT, Swing, JavaFX & SWT 3
M Swing JComboBox mit Laufwerksbuchstaben (Windows) AWT, Swing, JavaFX & SWT 6
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
D Swing JComboBox (DefaultComboBoxModel) überschreibt Eintrag beim erstellen AWT, Swing, JavaFX & SWT 0
R Swing Durch JComboBox-Item eine TextArea aktualisieren AWT, Swing, JavaFX & SWT 2
3 JComboBox - Action - Auslesen & Umwandeln AWT, Swing, JavaFX & SWT 9
M Alle Schriftarten in JComboBox AWT, Swing, JavaFX & SWT 5
M Swing JComboBox eigenes Design AWT, Swing, JavaFX & SWT 3
Sin137 JComboBox mit Generics AWT, Swing, JavaFX & SWT 14
R JComboBox erweitern AWT, Swing, JavaFX & SWT 5
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
V Editierbare JComboBox AWT, Swing, JavaFX & SWT 2
D Swing JCombobox in einem JTable vorbelegen AWT, Swing, JavaFX & SWT 4
F neuen Menüpunkt in jcombobox einfügen AWT, Swing, JavaFX & SWT 1
F Swing Jcombobox mit manueller Rückgabe AWT, Swing, JavaFX & SWT 4
W JComboBox auffristen nach Listenänderung AWT, Swing, JavaFX & SWT 20
S JComboBox mit mehreren Spalten? AWT, Swing, JavaFX & SWT 6
J JComboBox + ItemListener AWT, Swing, JavaFX & SWT 12
T Swing jComboBox auslesen mit Datenbankanbindung AWT, Swing, JavaFX & SWT 3
S JComboBox aus anderer Klasse füllen (Java-Swing) AWT, Swing, JavaFX & SWT 0
D Swing Erstes Item einer JCombobox in JTable anzeigen AWT, Swing, JavaFX & SWT 2
N JComboBox in JTable [Swing] -> totaler UI-Einsteiger AWT, Swing, JavaFX & SWT 3
H Swing jComboBox Ausgabe -1/null AWT, Swing, JavaFX & SWT 4
C Arrow Farbe bei JComboBox AWT, Swing, JavaFX & SWT 2
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
O JTextfield und JComboBox Wert in SQL Database speichern AWT, Swing, JavaFX & SWT 4
S JComboBox UTF-8 Codierung zuweisen AWT, Swing, JavaFX & SWT 5
A JComboBox mit Array aktualisieren AWT, Swing, JavaFX & SWT 7
S JComboBox nach auswahl erneuern AWT, Swing, JavaFX & SWT 4
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
I JComboBox gibt bei ausgewählten ITem NullPointer an... AWT, Swing, JavaFX & SWT 3
D Swing JCombobox - Tooltip Location ändern AWT, Swing, JavaFX & SWT 4
J JComboBox Dropdown Icon AWT, Swing, JavaFX & SWT 2
M Swing Mix JComboBox - JButton? AWT, Swing, JavaFX & SWT 6
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
F Swing jComboBox auslesen AWT, Swing, JavaFX & SWT 6
O Swing TableCellRenderer und JComboBox AWT, Swing, JavaFX & SWT 4
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
C Swing JComboBox, ItemListener gibt 2x aus AWT, Swing, JavaFX & SWT 2
O JComboBox - autom. Selektieren AWT, Swing, JavaFX & SWT 6
J JComboBox - wie getSelectedItem() überschreiben? AWT, Swing, JavaFX & SWT 8
S Swing Jcombobox und array AWT, Swing, JavaFX & SWT 6
D Swing JComboBox aktualisieren AWT, Swing, JavaFX & SWT 4
E JComboBox AWT, Swing, JavaFX & SWT 8
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
H Swing Element aus JComboBox auswählen AWT, Swing, JavaFX & SWT 2
H JCombobox inhalt löschen AWT, Swing, JavaFX & SWT 17
N Swing JCombobox - PopupMenu-Inhalt mit KSKB AWT, Swing, JavaFX & SWT 2
O JComboBox mit ArrayList füllen AWT, Swing, JavaFX & SWT 3
S Swing JComboBox mit Datenbank füllen AWT, Swing, JavaFX & SWT 16
S Inhalt einer JComboBox aktualisieren AWT, Swing, JavaFX & SWT 6
F Swing JComboBox in JTable AutoComplete + Tab AWT, Swing, JavaFX & SWT 4
O JComboBox getSelectedItem AWT, Swing, JavaFX & SWT 4
M JComboBox Hintergrundfarbe des gewählten Items AWT, Swing, JavaFX & SWT 3
B Swing Problem: Horizontaler Scrollbalken in JComboBox hinzufügen AWT, Swing, JavaFX & SWT 4
M JCombobox mit ID und Text AWT, Swing, JavaFX & SWT 4
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
C Swing Dynamische JComboBox (Filter) AWT, Swing, JavaFX & SWT 28
M JComboBox Item-Auswahl in JTable AWT, Swing, JavaFX & SWT 2
L Jbutton + jcombobox mit vorhandenen frame verknüfen AWT, Swing, JavaFX & SWT 8
D JCombobox mit Linien Styles AWT, Swing, JavaFX & SWT 4
H Unterschiedliche JComboBox je JTable Zeile AWT, Swing, JavaFX & SWT 4
B jCombobox addItem funktioniert nicht AWT, Swing, JavaFX & SWT 9
G JComboBox mit CellRenderer (Auswahl) AWT, Swing, JavaFX & SWT 11
G Swing JComboBox anpassen AWT, Swing, JavaFX & SWT 6
M Item in JComboBox umbenennen AWT, Swing, JavaFX & SWT 5
M Swing Busy Waiting Problem (JComboBox) AWT, Swing, JavaFX & SWT 11
C JComboBox Renderer Problem AWT, Swing, JavaFX & SWT 7
N Renderer Editoren und die JCombobox AWT, Swing, JavaFX & SWT 2
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
N JCombobox und Actionlistener Aktion nur ausführen, wenn Useraktion ihn auslöst AWT, Swing, JavaFX & SWT 4
T Swing JComboBox mit grauem Vorgabetext AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben