JPopupMenu, getParent Problem...

Status
Nicht offen für weitere Antworten.

bcpain

Mitglied
Hi Leute,

ich versuche im Moment eine GUI für eine Art Kalenderapplikation zu schreiben, da es sich dabei um eine Aufgabe für mein Studium handelt, wäre es sinnlos etwas vorgefertigstes komplett zu verwenden.

Also mein Problem ist, ich habe ein JLabel, dem ein JPopupMenu hinzugefügt wird.In dem Menu befiden sich einige JCheckBoxMenuItems.
Das Menu wird über ein Mousegesteuertes Event aufgerufen.
Durch einen Actionlistener versuche ich nun erstmal die Farben des Labels zu ändern, was aber leider nicht funktioniert, da im Actionlistener die getParent Methode eine NullPointerexception wirft.

hier der Code :D

Java:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JCheckBoxMenuItem;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;



public class groupLabel extends JLabel{
	
	public groupLabel(){
		Popup popup = new Popup(listener);
		popupmouseadapter pm = new popupmouseadapter(popup, this);
		this.setText("Leer");
//		this.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
//		this.setOpaque(true);
		this.add(popup);
		System.out.println("blablabla" + popup.getParent());
		this.addMouseListener(pm);

	}
	
	public static class Popup extends JPopupMenu {
		public Popup (ActionListener listener) {
			final String entries[] = {"black" , "Blue","cyan","darkGray","gray",
									  "green", "LightGray", "magenta", "orange","pink",
									  "red", "white", "yellow", "Quit"};
			for (int i = 0; i < entries.length; i++  ) {
				JCheckBoxMenuItem mi = new JCheckBoxMenuItem(entries[i]);
				mi.addActionListener(listener);
				this.add(mi);
				//System.out.println("klasse popup: " + this.getParent());
			}
		}
	}

	public static class popupmouseadapter extends MouseAdapter {
		public Popup popup;
		public groupLabel pl;
		popupmouseadapter (Popup p1, groupLabel p2) {
			super();
			popup = p1;
			pl = p2;	
		}
		public void mousePressed(MouseEvent me) {
			int key = me.getModifiers();
			if (key == me.META_MASK) {
				popup.show(pl,me.getX(),me.getY());
				System.out.println("klasse popup: " + popup.getParent());
			}
		}	
	}

	public static ActionListener listener = new ActionListener (){
		public void actionPerformed (ActionEvent e) {
			String s = e.getActionCommand();
			if ("Quit".equals(s)) System.exit(0);
			JCheckBoxMenuItem mi = (JCheckBoxMenuItem)e.getSource();
			JPopupMenu m = (JPopupMenu)mi.getParent();
			groupLabel l = (groupLabel)m.getParent();
			System.out.println(mi);
			System.out.println(m);
			System.out.println(m.getParent());
			System.out.println(l);
			if ("black".equals(s)) l.setBackground(Color.black);
			else if ("Blue".equals(s)) l.setBackground(Color.BLUE);
			else if ("cyan".equals(s)) l.setBackground(Color.cyan);
			else if ("darkGray".equals(s)) l.setBackground(Color.darkGray);
			else if ("gray".equals(s)) l.setBackground(Color.gray);
			else if ("green".equals(s)) l.setBackground(Color.green);
			else if ("LightGray".equals(s)) l.setBackground(Color.lightGray);
			else if ("magenta".equals(s)) l.setBackground(Color.magenta);
			else if ("orange".equals(s)) l.setBackground(Color.orange);
			else if ("pink".equals(s)) l.setBackground(Color.pink);
			else if ("red".equals(s)) l.setBackground(Color.red);
			else if ("white".equals(s)) l.setBackground(Color.white);
			else if ("yellow".equals(s)) l.setBackground(Color.yellow);
		}
	};
	public static void main(String[] args) {
		Frame f = new Frame();
		groupLabel ch = new groupLabel();
		f.add(ch);
		f.pack();
		f.setVisible(true);
}

Es handelt sich bei der klasse nur um eine testklasse.
kann mir da wer helfen?

*Edit* Achso und ich verwende deshalb CheckboxMenuItem, weil ich in der lage sein muss mehrer Sachen auswählen zu können. die Farben sind nur beispiele, sind später dann Strings ^^



gez bcpain
 

bcpain

Mitglied
hey danke, das hat mir echt geholfen, funktioniert jetzt so wie ich das möchte.


nochmals danke Michael...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Wie adde ich ein JPopUpMenu AWT, Swing, JavaFX & SWT 3
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
S Swing JPopupMenu visible AWT, Swing, JavaFX & SWT 4
S JPopupMenu schließen in SystemTray AWT, Swing, JavaFX & SWT 2
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
hdi Workaround: TrayIcon & JPopupMenu AWT, Swing, JavaFX & SWT 3
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
S JPopupMenu oder JCombobox die JList oeffnet..? AWT, Swing, JavaFX & SWT 7
A Swing in JPopupMenu die JRadioButtonMenuItems durchlaufen AWT, Swing, JavaFX & SWT 3
T JmenuItems in JPopupMenu kontextabhängig deaktivieren AWT, Swing, JavaFX & SWT 2
S Swing JPopupMenu nicht schließen AWT, Swing, JavaFX & SWT 2
pinerski Probleme mit JPopupMenu und JMenuItem AWT, Swing, JavaFX & SWT 7
hdi Swing JPopupMenu: Größe AWT, Swing, JavaFX & SWT 4
Dragonfire width of JPopupMenu StyleBug AWT, Swing, JavaFX & SWT 3
M JPopupMenu - Ein vorhandenes Kontextmenü erweitern AWT, Swing, JavaFX & SWT 6
Iron Monkey JPopupMenu/JMenuItem Index für getSubElements()[] ermitteln AWT, Swing, JavaFX & SWT 8
X JPopupMenu Items aktualisieren sich nicht AWT, Swing, JavaFX & SWT 3
T JPopupMenu "schließen" AWT, Swing, JavaFX & SWT 7
M jPopupMenu AWT, Swing, JavaFX & SWT 2
M jPopupMenu - Problem bei der Positionierung AWT, Swing, JavaFX & SWT 3
N JPopupMenu - ausgewähltes Element zurückgeben AWT, Swing, JavaFX & SWT 2
P JPopupMenu scrollen AWT, Swing, JavaFX & SWT 2
A JPopupMenu: Nach oben aufpoppen AWT, Swing, JavaFX & SWT 9
S Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
T JPopupMenu wird bei Rechtsklick angezeigt! AWT, Swing, JavaFX & SWT 3
Firefork JPopupMenu unter einem Schalter darstellen AWT, Swing, JavaFX & SWT 2
K Netbeans GUI Builder (Matisse) und erstellen von JPopupMenu AWT, Swing, JavaFX & SWT 1
I In JPopupMenu scrollen AWT, Swing, JavaFX & SWT 4
M JPopupMenu per linker Maustaste öffnen AWT, Swing, JavaFX & SWT 9
V Beliebige Komponenten in einem JPopupMenu? AWT, Swing, JavaFX & SWT 3
F Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 3
C JPopUpMenu in einem JTree ist lahm AWT, Swing, JavaFX & SWT 14
V JPopupMenu Problem und Tipp zu mouse/key AWT, Swing, JavaFX & SWT 3
F JPopupMenu und AbstractAction AWT, Swing, JavaFX & SWT 2
N Problem mit JPopupMenu und alwaysOnTop AWT, Swing, JavaFX & SWT 4
G Schließen von JPopupMenu AWT, Swing, JavaFX & SWT 14
G Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 30
R Hässlicher Punkt bei JPopupMenu AWT, Swing, JavaFX & SWT 12
S JPopupMenu - Kontrolliert beenden AWT, Swing, JavaFX & SWT 3
C Problem mit JPopupMenu AWT, Swing, JavaFX & SWT 6
T java.awt.IllegalComponentStateException bei JPopupMenu AWT, Swing, JavaFX & SWT 6
G Problem mit JPopupMenu und Menüauswahl AWT, Swing, JavaFX & SWT 4
R JPopupMenu,JScrollPane + repaint AWT, Swing, JavaFX & SWT 8
D Probleme bei der Positionierung von JPopupMenu AWT, Swing, JavaFX & SWT 2
J "Problem" mit JPopupMenu AWT, Swing, JavaFX & SWT 7
G JPopupMenu in JTable AWT, Swing, JavaFX & SWT 4
Juelin Problem mit TextField.requestFocus(); AWT, Swing, JavaFX & SWT 17
Juelin Problem beim Laden Controller AWT, Swing, JavaFX & SWT 2
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben