combobox auf leeres Feld prüfen?

Status
Nicht offen für weitere Antworten.
H

HanneSG

Gast
Warum bekomme ich einen NullPointer?

oder wie prüfe ich ob bei einer editierbaren combobox kein Text oben eingegeben wurde sprich "" ist?

Code:
if(e.getSource().equals(Button))
        {     
        	if(ComboBox.getSelectedItem().equals(""))
        	{
        		JOptionPane.showMessageDialog(this,"No Text added!","Error",JOptionPane.ERROR_MESSAGE);	 
    	            return; 
        	}

}
 

Marco13

Top Contributor
Wenn nichts ausgewählt ist, liefert ComboBox.getSelectedItem() eben 'null'. (BTW: Variablennamen klein schreiben!). Ggf. solltest du sicherstellen, dass das, was eingefügt werden soll, gültig ist, bevor es eingefügt wird. Andernfalls musst du irgendwie dafür sorgen, dass das "leere" Element ausgewählt ist, oder die COmboBox durchsuchen, ob sie ein leeres Element enthält. Wenn's nicht klappt, beschreib' vielleicht das Problem nochmal genauer (am besten mit einem kleinen, compilierbaren Beispiel)
 
H

HanneSG

Gast
der user soll bei buttondruck text der oben in der JCB steht der JCB-liste unten hinzufügen können. Ist der Text aber "" sprich leer, dann soll die msgbox aufgehen. nur das equals.("") funzt nicht :/
 

L-ectron-X

Gesperrter Benutzer
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class JComboBoxTest {
   public static void main(String[] args) {
       final JFrame frame = new JFrame("JComboBoxTest");
       frame.setLayout(new FlowLayout());
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
       final JComboBox box = new JComboBox(new String[] {
          "Eins", "Zwei", "Drei"
       });
       box.setEditable(true);
       
       JButton button = new JButton("Add");
       button.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
             Object obj = box.getSelectedItem();
             if(obj.equals("")) {
                JOptionPane.showMessageDialog(frame, "No text added!", "Error", JOptionPane.ERROR_MESSAGE);
             }
             else {
                for(int i = 0; i < box.getItemCount(); i++) {
                   if(obj.equals(box.getItemAt(i))) {
                      return;
                   }
                }
                box.addItem(obj);
             }
          }
       });
       
       frame.add(box);
       frame.add(button);
       
       frame.pack();
       frame.setLocationRelativeTo(null);
       frame.setVisible(true);

   }
}

HanneSG hat gesagt.:
Code:
if(e.getSource().equals(Button))
Wenn du mit getSource() die Referenz auf das Objekt des Ereignisses holst, kannst du nicht mit equals() vergleichen/prüfen. Referenzen werden mit dem boolschen Operator == auf Gleichheit geprüft.
Also so:
Code:
if(e.getSource() == button)
 
H

HanneSG

Gast
Also so:
Code:
if(e.getSource() == button)

e.getSource().equals(myButton) mache ich seit Ewigkeit so, so funktionierte es immer und so habe ich es in der Ausbildung auch gelernt...
 
S

SlaterB

Gast
ich wollt gestern auch schon fast schreiben, dass das im Grunde egal ist,
für die meisten Objekte macht equals eh das gleiche wie ==

und wenn equals überschrieben ist, dann sollte es zumindest für dasselbe Objekt true liefern ;)
ist nicht ganz verkehrt, klappt schon, nur etwas unnötig umständlich
 
H

HanneSG

Gast
komisch ist deine Variante geht, doch meine hat GENAU deselben code und logik stimmt eigentlich auch...

wenn das feld in der jcb leer ist und ich adde etwas dann kommt die JOptionPane soweit so gut... wenn das feld der jcb leer ist und ich del was bekomme ich einen nullpointer, doch warum?

Code:
public void actionPerformed(ActionEvent e)
	{		
		Object movieFormatObject = movieFormatCB.getSelectedItem();
		
		 
		if(e.getSource().equals(movieFormatAddBT))
        {  				
			if(movieFormatObject.equals(""))
			{
				JOptionPane.showMessageDialog(this, "No text added!", "Error", JOptionPane.ERROR_MESSAGE);
	            return;
			}
			else
			{
				movieFormatCB.addItem(movieFormatCB.getSelectedItem());
			}	
        } 
	        
        if(e.getSource().equals(movieFormatDelBT))
        {    
        	if(movieFormatObject.equals(""))
			{
				JOptionPane.showMessageDialog(this, "No text to delete!", "Error", JOptionPane.ERROR_MESSAGE);
	            return;
			}
			else
			{
				movieFormatCB.removeItem(movieFormatCB.getSelectedItem());
			}
        }

}
 

L-ectron-X

Gesperrter Benutzer
Es wäre einfacher dein Problem nachzuvollziehen, wenn du ein KSKB posten würdest.
Also ein Kleines selbstständiges kompilierbares Beispiel (Begriff wurde hier von André Uhres geprägt), in dem du das Wesentliche einbaust, so dass man es auch mal kompilieren und ausprobieren kann. Dann lässt sich der Fehler schneller finden.

Guck einfach zuerst mal nach, was in der Zeile steht, in der die NPE geworfen wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
T ComboBox getValue() zeigt null Java Basics - Anfänger-Themen 7
J Array an Combobox übergeben Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
Rubberduck Combobox-Werte in GUI anzeigen Java Basics - Anfänger-Themen 13
J Combobox füllen mit Wertausgabe von andere Klasse Java Basics - Anfänger-Themen 3
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
G Verlassen einer ComboBox erkennen Java Basics - Anfänger-Themen 16
Mosquera Get String Array - ComboBox Java Basics - Anfänger-Themen 10
H Combobox abhängig von RadioButton Java Basics - Anfänger-Themen 4
M ComboBox bestimmte Elemente disablen/ausgrauen Java Basics - Anfänger-Themen 3
T Combobox Wert auslesen und damit weiterrechnen Java Basics - Anfänger-Themen 6
J ComboBox mittels neuer Methode befüllen Java Basics - Anfänger-Themen 3
J Interface Combobox Zustand speichern Java Basics - Anfänger-Themen 1
T Wenn Schaltjahr ist, soll Februar, einen Tag mehr haben, GUI mit combobox Java Basics - Anfänger-Themen 4
J Combobox Objekte Java Basics - Anfänger-Themen 10
kaoZ Input/Output Verzeichnis Inhalt in combobox ausgeben Java Basics - Anfänger-Themen 8
V ComboBox Ergebnisse abhängig von anderer ComboBox - Wie? Java Basics - Anfänger-Themen 7
W Hilfe bei Combobox Java Basics - Anfänger-Themen 9
W GUI Label, ComboBox Java Basics - Anfänger-Themen 4
C Combobox in Abhängigkeit von Spinner Java Basics - Anfänger-Themen 6
D Wert von Combobox in Datei schreiben Java Basics - Anfänger-Themen 2
J Combobox in andere Klasse übergeben Java Basics - Anfänger-Themen 3
B ComboBox(editable) - Text verändern Java Basics - Anfänger-Themen 7
H String aus Combobox auslesen Java Basics - Anfänger-Themen 2
I ComboBox mit Icons + Mehr...! Java Basics - Anfänger-Themen 6
1 Combobox anzeige Java Basics - Anfänger-Themen 7
1 combobox nicht an fesnter angeknüpft Java Basics - Anfänger-Themen 2
1 ComboBox Java Basics - Anfänger-Themen 4
S ComboBox Spielautomat Java Basics - Anfänger-Themen 3
F ComboBox sowie String in einer JTable Spalte Java Basics - Anfänger-Themen 2
H Darstellung ComboBox in jTable Java Basics - Anfänger-Themen 5
M Combobox Problem Java Basics - Anfänger-Themen 3
D ArrayList<String> to Combobox Java Basics - Anfänger-Themen 7
Spin ComboBox Java Basics - Anfänger-Themen 4
J Taschenrechner Combobox Reaktion auf Auswahl Java Basics - Anfänger-Themen 2
M ComboBox und ActionListener Java Basics - Anfänger-Themen 3
S AWT ComboBox Ausgaba Java Basics - Anfänger-Themen 5
K rückgabewert combobox Java Basics - Anfänger-Themen 15
E ComboBox werte auslesen Java Basics - Anfänger-Themen 4
E Combobox Auswahl überprüfen Java Basics - Anfänger-Themen 7
B ComboBox Größe ändern Java Basics - Anfänger-Themen 4
D ComboBox Java Basics - Anfänger-Themen 10
N nicht editierbare combobox davon oberstes element auslesen? Java Basics - Anfänger-Themen 5
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
D ComboBox auf <empty> überprüfen Java Basics - Anfänger-Themen 2
P Item in ComboBox manuell hinzufügen? Java Basics - Anfänger-Themen 3
C Welche Elemente sind in der ComboBox? Java Basics - Anfänger-Themen 3
G Wie doppelte Einträge in ComboBox vermeiden ? Java Basics - Anfänger-Themen 9
P Wert aus JTree in ComboBox setzen? Java Basics - Anfänger-Themen 2
D Combobox mit array abhängig von anderer Combobox mit array Java Basics - Anfänger-Themen 4
R Symbolschrift in einer ComboBox! Java Basics - Anfänger-Themen 10
G itemlistener bei combobox? Java Basics - Anfänger-Themen 10
G ComboBox und Arrays Inhalt speichern/ausgeben Java Basics - Anfänger-Themen 7
G ComboBox mit identischen einträgen Java Basics - Anfänger-Themen 2
G ComboBox in eine JTable einbinden Java Basics - Anfänger-Themen 2
A Combobox Struts Java Java Basics - Anfänger-Themen 7
S Größe einer Combobox Java Basics - Anfänger-Themen 5
S Combobox mehrfach verwenden Java Basics - Anfänger-Themen 3
A ComboBox mit unique Werten Java Basics - Anfänger-Themen 2
T ComboBox.GetSelectedIndex() gibt immer nur 0 zurück. Java Basics - Anfänger-Themen 2
H ComboBox zur Laufzeit erzeugen? Fehler. Java Basics - Anfänger-Themen 8
S Combobox mit Icons Java Basics - Anfänger-Themen 3
D wieso ist die combobox nicht von anfang an aktiviert? Java Basics - Anfänger-Themen 4
L Aktual.problem einer Var. wenn ComboBox Element ausgewählt Java Basics - Anfänger-Themen 4
D ComboBox mit Daten einer Datenenbank Java Basics - Anfänger-Themen 8
A Combobox füllen Java Basics - Anfänger-Themen 4
C Combobox mit "History" Java Basics - Anfänger-Themen 3
W Mehrfacheinträge in ComboBox Java Basics - Anfänger-Themen 8
M String Array in ComboBox toString() Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
S JOptionPane komplett leeres Fenster Java Basics - Anfänger-Themen 4
D Leeres Textfeld nicht auslesen Java Basics - Anfänger-Themen 3
M Nur Zahlen oder ein leeres JFormattedTextField zulassen Java Basics - Anfänger-Themen 7
R Nächstes leeres Feld im array füllen? Java Basics - Anfänger-Themen 14
R JDBC leeres ResultSet Problem Java Basics - Anfänger-Themen 2
C Datentypen ArrayList.remove(index) hinterlässt leeres Feld Java Basics - Anfänger-Themen 5
M Leeres String Arrayfeld bearbeiten Java Basics - Anfänger-Themen 12
D jar - gui mal startet es mal nur ein leeres Fenster warum? Java Basics - Anfänger-Themen 4
M String aus Datei auslesen - Medung Leeres Parameterfeld Java Basics - Anfänger-Themen 4
B Leeres Textfeld, was nun. Java Basics - Anfänger-Themen 4
J Leeres Textfeld auslesen Java Basics - Anfänger-Themen 6
Z Problem der Prüfung auf ein leeres Formularfeld Java Basics - Anfänger-Themen 3
A Auf leeres arrayfeld prüfen Java Basics - Anfänger-Themen 5
R leeres Feld im GridLayout (dummy Objekt erzeugen?) Java Basics - Anfänger-Themen 2
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
wofus Interface EditText Feld Multiline Dezimalzahl Java Basics - Anfänger-Themen 2
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
C Feld printen Java Basics - Anfänger-Themen 4
B Zu Property Feld weitere Informationen hinzufügen? Java Basics - Anfänger-Themen 4
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
J Button als Feld nutzen Java Basics - Anfänger-Themen 17
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
S Methoden Feld vergrößern Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben