JCheckBoxMenuItem und JCheckBox synchronisieren

Status
Nicht offen für weitere Antworten.

Joergel

Mitglied
Moin Forum!

Ich habe das Problem, dass ich in einem kleinen Programm ein JCheckBoxMenuItem und eine JCheckBox synchron aktivieren (bzw. deaktivieren) möchte, also: die Checkbox des JCheckBoxMenuItem soll auch gechecked werden wenn ich auf die JCheckBox klicke und umgekehrt.
Checked bzw. unchecked aktiviert bzw. deaktviert anschließend eine Methode über die Variable machHTML. Ich finde in meinen Büchern und im Netz einfach nichts Passendes. Ohne wechselseitige Aktivierung funzt alles prima, mit erhalte ich zur Laufzeit 'ne NullPointerException.
Weiß jemand wie's geht oder ein nicht zu aufgeblasenes Tut?

Code:
public class T2EPanel {
...
private JCheckBoxMenuItem miHTML;
private JCheckBox htmlCheck;
private boolean machHTML;
...

// innere Klasse

	class htmlCheckListener implements ItemListener {

		public void itemStateChanged(ItemEvent event) {
				if (event.getStateChange() == ItemEvent.SELECTED) {
					htmlCheck.setSelected(true);
					miHTML.setSelected(true);
                                        machHTML = true;
				} else if (event.getStateChange() == ItemEvent.DESELECTED) {
					htmlCheck.setSelected(false);
					miHTML.setSelected(false);
                                        machHTML = false;
				}
		}
	};

Danke und Gruß

Joergel
 
G

Guest

Gast
Hier die ersten Zeilen:

java.lang.NullPointerException
at T2EPanel$1.itemStateChanged(T2EPanel.java:501)
at javax.swing.AbstractButton.fireItemStateChanged(AbstractButton.java:1814)
at javax.swing.AbstractButton$ForwardItemEvents.itemStateChanged(AbstractButton.java:1850)
at javax.swing.DefaultButtonModel.fireItemStateChanged(DefaultButtonModel.java:477)
at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton.java:237)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:254)

bezieht sich eben auf die gepostete Methode.

Gruß Joergel
 

thE_29

Top Contributor
naja, nullpointer exception heißt das, das zu dem zeitpunkt als du setselected machst, der button noch null ist!

bist du sicher das er schon mit new erzeugt worden ist und das er auf der gui schon sichtbar/klickbar ist?
 
G

Guest

Gast
aber ja, einzeln funzen ja beide einwandfrei, nur das Zusammenspiel klappt nicht.
 

thE_29

Top Contributor
poste mal die gesamte exception, da eigentlich nirgends die zeile von deinem file steht!

die fehlermeldungen verlinken nur auf die java klassen!

und zeig die zeile an in der das passiert!
 

Joergel

Mitglied
So, hab's nach all meinem Gefummel nochmal in den ursprünglichen Zustand versetzt. Die Gesamt-Exception:

java.lang.NullPointerException
at T2EPanel$3.itemStateChanged(T2EPanel.java:542)
at javax.swing.AbstractButton.fireItemStateChanged(AbstractButton.java:1814)
at javax.swing.AbstractButton$ForwardItemEvents.itemStateChanged(AbstractButton.java:1850)
at javax.swing.DefaultButtonModel.fireItemStateChanged(DefaultButtonModel.java:477)
at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton.java:237)
at javax.swing.AbstractButton.setSelected(AbstractButton.java:261)
at javax.swing.JCheckBoxMenuItem.setState(JCheckBoxMenuItem.java:177)
at T2EPanel.setMenuCheckbox(T2EPanel.java:467)
at T2EPanel$1.itemStateChanged(T2EPanel.java:499)
at javax.swing.AbstractButton.fireItemStateChanged(AbstractButton.java:1814)
at javax.swing.AbstractButton$ForwardItemEvents.itemStateChanged(AbstractButton.java:1850)
at javax.swing.DefaultButtonModel.fireItemStateChanged(DefaultButtonModel.java:477)
at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton.java:237)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:254)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

Sie tritt auf, wenn ich die JCheckBox aktiviere. Die erste Zeile verweist hierbei auf die Zeile

htmlCheck.setSelected(true);

des ItemListeners der MENU-Checkbox, der versucht die soeben aktivierte Checkbox nochmals zu aktivieren. Das Ganze ist wohl ein Konflikt der Event-Handler, der dadurch entsteht, dass durch das Aktivieren einer der beiden Checkboxen eine Art Kettenreaktion ausgelöst wird, in der die ItemListener versuchen Elemente zu aktivieren, die bereits aktiviert sind.
Möglicherweise ließe sich das durch eine AbstractAction lösen, aber WIE?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Über eine JMenuBar überprüfen ob ein JCheckBoxMenuItem selectiert ist. AWT, Swing, JavaFX & SWT 4
S JCheckBoxMenuItem - Haekchen verschwindet bei Icon AWT, Swing, JavaFX & SWT 3
V JCheckBoxMenuItem "Rahmen" entfernen AWT, Swing, JavaFX & SWT 25
ElViZ JCheckBoxMenuItem Problem - Menü soll offen bleiben. AWT, Swing, JavaFX & SWT 3
K 2 fragen:JCheckBoxMenuItem und ComboBox AWT, Swing, JavaFX & SWT 2
I JCheckBoxMenuItem auf dem Mac AWT, Swing, JavaFX & SWT 3
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
S JRadioButton und JCheckBox im JTree AWT, Swing, JavaFX & SWT 14
B JCheckBox ausrichten ? AWT, Swing, JavaFX & SWT 1
Paul15 JCheckBox und JToggleButton AWT, Swing, JavaFX & SWT 5
M Swing JCheckbox Namen vergeben? AWT, Swing, JavaFX & SWT 5
E Zustand der JCheckBox abfragen AWT, Swing, JavaFX & SWT 1
D JCheckbox und JSpinner in JTable AWT, Swing, JavaFX & SWT 9
K Swing JCheckbox ändern AWT, Swing, JavaFX & SWT 3
N ChangeListener und jCheckBox AWT, Swing, JavaFX & SWT 3
B JTable inkl. JCheckbox AWT, Swing, JavaFX & SWT 5
StrikeTom JCheckBox in JTable AWT, Swing, JavaFX & SWT 6
A Swing JCheckbox transparent machen AWT, Swing, JavaFX & SWT 7
G Swing JCheckBox, setEnabled(false) und HTML Text Problem AWT, Swing, JavaFX & SWT 5
Z Swing JCheckBox in einer JTable AWT, Swing, JavaFX & SWT 8
B JCheckbox ja oder nein AWT, Swing, JavaFX & SWT 3
O Jcheckbox Status nachträglich abfragen AWT, Swing, JavaFX & SWT 2
C Swing JCheckBox setEditable(false)? AWT, Swing, JavaFX & SWT 9
X Swing JCheckbox in JTable AWT, Swing, JavaFX & SWT 6
F DefaultTableCellRenderer blendet JCheckBox aus AWT, Swing, JavaFX & SWT 4
Burny91 Swing JCheckBox in JList einbetten AWT, Swing, JavaFX & SWT 4
K JCheckBox datenstruktur AWT, Swing, JavaFX & SWT 10
J Swing JCheckBox enabled, aber graues Kästchen AWT, Swing, JavaFX & SWT 2
S Swing Problem mit JCheckBox auf JPanel in JScrollPane AWT, Swing, JavaFX & SWT 8
C JCheckBox Kreuz statt Haken AWT, Swing, JavaFX & SWT 7
S Swing Werte einer Jcheckbox aus eine Klasse A in eine Klasse B aufrufen AWT, Swing, JavaFX & SWT 6
S GUI blocked after checked a JcheckBox AWT, Swing, JavaFX & SWT 2
S JCheckBox Paint AWT, Swing, JavaFX & SWT 7
M JCheckBox Icon anpassen AWT, Swing, JavaFX & SWT 2
E Matrix mit JCheckBox AWT, Swing, JavaFX & SWT 29
Balbes Änderung des Wertes von JCheckBox in einer JTable AWT, Swing, JavaFX & SWT 4
S Frage zu JCheckBox AWT, Swing, JavaFX & SWT 2
T Swing JCheckBox: Wie getState() abfragen? AWT, Swing, JavaFX & SWT 2
FoolMoon Swing JCheckBox neben Text in einer Tabelle AWT, Swing, JavaFX & SWT 2
J Icon einer JCheckBox AWT, Swing, JavaFX & SWT 6
E Swing Wechsel in JCheckBox abfangen AWT, Swing, JavaFX & SWT 10
S JCheckBox AWT, Swing, JavaFX & SWT 9
D JTable - JCheckbox und Renderer AWT, Swing, JavaFX & SWT 2
V JCheckBox in JTable AWT, Swing, JavaFX & SWT 3
T JCheckBox deselektieren (Haken wieder entfernen) - wie? AWT, Swing, JavaFX & SWT 5
W JRadioButton / JCheckBox problem AWT, Swing, JavaFX & SWT 6
K JCheckBox in einer JTable auswählbar machen AWT, Swing, JavaFX & SWT 2
J Listener erkennt Deselektierung von JCheckbox nicht AWT, Swing, JavaFX & SWT 13
T Dynamische Anpassung einer jCheckBox AWT, Swing, JavaFX & SWT 11
T JCheckBox ohne "Box"? AWT, Swing, JavaFX & SWT 6
H JCheckBox - Ist die Abfrage wirklich so umständlich ? AWT, Swing, JavaFX & SWT 3
A Problem der Größe von JCheckBox nach Hinzufügen eines Popups AWT, Swing, JavaFX & SWT 2
F Wie Item Listener zu JCheckBox(in JTable) hinzufügen? AWT, Swing, JavaFX & SWT 6
M JCheckbox, das selektieren verhindern AWT, Swing, JavaFX & SWT 9
M JCheckBox Standard MouseListener entfernen AWT, Swing, JavaFX & SWT 13
A JCheckBox abfragen AWT, Swing, JavaFX & SWT 6
J Variabler VariablenIdentifier - JCheckBox AWT, Swing, JavaFX & SWT 9
I JTree und JCheckbox Problem AWT, Swing, JavaFX & SWT 4
G jCheckBox AWT, Swing, JavaFX & SWT 8
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
D Seltsamer Rahmen bei JCheckBox AWT, Swing, JavaFX & SWT 7
G JCheckBox mit Text und Icon AWT, Swing, JavaFX & SWT 5
M JCheckbox in JCombobox AWT, Swing, JavaFX & SWT 7
L jCheckBox - aktiviert und nicht aktiviert AWT, Swing, JavaFX & SWT 7
H jCheckBox abschalten AWT, Swing, JavaFX & SWT 3
B JTextFiled, JCheckBox, JSpinner Eigenschaften speichern AWT, Swing, JavaFX & SWT 2
G JCheckbox Buttongroup Problem AWT, Swing, JavaFX & SWT 7
P JCheckBox: das 4eck mit kreuz soll rechts vom wort stehen AWT, Swing, JavaFX & SWT 3
R JCheckBox mit Image und Text AWT, Swing, JavaFX & SWT 5
G JCheckBox nicht änderbar machen AWT, Swing, JavaFX & SWT 2
V Statusabfrage von JCheckBox und JComboBox AWT, Swing, JavaFX & SWT 7
P JCheckBox AWT, Swing, JavaFX & SWT 4
L Probleme mit JCheckBox AWT, Swing, JavaFX & SWT 15
A JButton und JCheckBox im JTree reagieren nicht AWT, Swing, JavaFX & SWT 13
D Welche JCheckBox des Arrays ist das? AWT, Swing, JavaFX & SWT 2
P JCheckbox einmal gewählt immer gewählt ? AWT, Swing, JavaFX & SWT 2
M Weiße JCheckBox? AWT, Swing, JavaFX & SWT 5
S Herausbekommen welche JCheckBox selectiert wurde AWT, Swing, JavaFX & SWT 6
S Swing Tabelle mit Model bei eingeschaltetem Filter synchronisieren AWT, Swing, JavaFX & SWT 6
B Swing Synchronisieren oder nicht? AWT, Swing, JavaFX & SWT 4
X Swing 2 TreeModel und ein JTree synchronisieren AWT, Swing, JavaFX & SWT 3
T Swing 2 Tabellen parallel sortieren? (synchronisieren) AWT, Swing, JavaFX & SWT 3
G JComboBoxen synchronisieren AWT, Swing, JavaFX & SWT 8
G Swing JTable und JTextArea synchronisieren AWT, Swing, JavaFX & SWT 2
C JTable , 2 Comboboxen synchronisieren AWT, Swing, JavaFX & SWT 2
E JTable sortieren und synchronisieren von zwei Datenvektoren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben