Hallo!
Ich will, dass wenn ich einen ComponentButton (Klasse: ComponentButton extends JComponent; befindet sich auf PanelMain) auf meiner GUI anklicke, auf einem anderen Panel (Klasse: PanelCommand extends JPanel) f�r jedes Command ein oder mehrere CommandButton(s) (Klasse: CommandButton extends JComponent) erstellt und angezeigt werden.
Habe bereits ne Weile herumprobiert, finde aber keine L�sung wie ich das machen k�nnte
Klasse ComponentButton
Klasse PanelCommand
In der Konsole bekomme ich immer folgenden Text und Exception
Wäre über jede Hilfe dankbar!
mfg,
Lemieux
Ich will, dass wenn ich einen ComponentButton (Klasse: ComponentButton extends JComponent; befindet sich auf PanelMain) auf meiner GUI anklicke, auf einem anderen Panel (Klasse: PanelCommand extends JPanel) f�r jedes Command ein oder mehrere CommandButton(s) (Klasse: CommandButton extends JComponent) erstellt und angezeigt werden.
Habe bereits ne Weile herumprobiert, finde aber keine L�sung wie ich das machen k�nnte
Klasse ComponentButton
Code:
public void mouseClicked(MouseEvent arg0)
{
System.out.println("Klick");
_oJComponent.setBorder(new EtchedBorder(Color.blue, Color.blue));
if(LCMC.isLoggedIn() == true)
{
Vector vObjCmds = _oMMCObj.getCmd();
System.out.println("\nM�gliche Befehle f�r dieses Objekt: ");
for(int i=0; i < vObjCmds.size(); i++)
{
vObjCmds.get(i);
System.out.print(vObjCmds.get(i) + " ");
PanelCommand.setObjCmd((CmdDesc)vObjCmds.get(i));
PanelCommand.getpCmd().createCmdButton();
}
System.out.println("\n");
}
else
{
String sFehler = "FEHLER! " +
"Sie sind nicht am MMC eingeloggt! " +
"Das bedeutet, dass sie keine Berechtigung haben, Objekte vom MMC einzulesen!";
JLabel lFehler = new JLabel(sFehler);
this.add(lFehler);
}
}
Klasse PanelCommand
Code:
package lcmc.gui;
import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import com.v8tech.mmc.j2melib.CmdDesc;
public class PanelCommand extends JPanel
{
private Image iBackground;
private static CmdDesc _oObjCmd;
private GUI _mainFrame;
private static PanelCommand _pCmd;
public PanelCommand(GUI mainFrame, JPanel pWest)
{
iBackground = mainFrame.loadImage("command");
setMainFrame(mainFrame);
FlowLayout loCommandLayout = new FlowLayout();
loCommandLayout.setVgap(15);
loCommandLayout.setHgap(40);
this.setLayout(loCommandLayout);
JLabel lNullLabel = new JLabel();
this.add(lNullLabel);
lNullLabel.setPreferredSize(new java.awt.Dimension(220, 20));
this.setPreferredSize(new java.awt.Dimension(268, 464));
pWest.add(this);
}
public void createCmdButton()
{
System.out.println("Test");
this.add(new CommandButton(_mainFrame, _oObjCmd.toString()));
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if (iBackground != null)
{
g.drawImage(iBackground, 0, 0, null);
}
}
public static void setObjCmd(CmdDesc oObjCmd)
{
_oObjCmd = oObjCmd;
}
public void setMainFrame(GUI mainFrame)
{
this._mainFrame = mainFrame;
}
public static PanelCommand getpCmd()
{
return _pCmd;
}
}
In der Konsole bekomme ich immer folgenden Text und Exception
Klick
Mögliche Befehle für dieses Objekt:
OFF {} Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at lcmc.gui.ComponentButton.mouseClicked(ComponentButton.java:124)
at java.awt.Component.processMouseEvent(Component.java:5491)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1766)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Wäre über jede Hilfe dankbar!
mfg,
Lemieux