G
Grey_M
Gast
Guten Tag,
ich habe mich zu tode :### , blöd :autsch: und weis trotzdem nicht wieso es bei mir :bahnhof: aussieht...
Ich will eigentlich nur bei einem Linksklick auf ein JPanel ein JPopupMenu öffnen, doch aus irgendwelchen gründen klappt es nicht...
Im folgenden meine Klassen.
Die Main Klasse
Das Fenster
Das Panel
Das PopupMenu
Der Listener
Ich weis wirklich nicht weiter. :bahnhof: Es gibt keine komplizierten Stellen und mit nem JTree hat es letztens auch wunderbar geklappt. Ich glaub langsam meine JDK und Eclipse starten eine Revolution....
Danke fürs lesen und antworten.
ich habe mich zu tode :### , blöd :autsch: und weis trotzdem nicht wieso es bei mir :bahnhof: aussieht...
Ich will eigentlich nur bei einem Linksklick auf ein JPanel ein JPopupMenu öffnen, doch aus irgendwelchen gründen klappt es nicht...
Im folgenden meine Klassen.
Die Main Klasse
Code:
package Initialisation;
import Frames.Taskbar;
public class Initialisation {
public static void main(String[] args){
new Taskbar();
}
}
Das Fenster
Code:
package Frames;
import java.awt.Toolkit;
import javax.swing.JWindow;
import Components.Controlpanel;
public class Taskbar extends JWindow {
public Taskbar() {
this.add(new Controlpanel());
this.setSize((int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(), 40);
this.setAlwaysOnTop(true);
this.setVisible(true);
}
}
Das Panel
Code:
package Components;
import java.awt.AWTEvent;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Controlpanel extends JPanel {
Color backgroundcolor = new Color(0, 0, 0);
boolean loadbackground = false;
ImageIcon backgroundicon = null;
public Controlpanel(){
this.setLayout(new FlowLayout(0, 0, 0));
if(loadbackground){
backgroundicon = new ImageIcon("background.jpg");
if(backgroundicon != null || backgroundicon.getIconWidth() != Toolkit.getDefaultToolkit().getScreenSize().getWidth()){
JLabel backgroundlabel = new JLabel();
backgroundlabel.setIcon(backgroundicon);
this.add(backgroundlabel);
this.setSize(backgroundicon.getIconWidth(), backgroundicon.getIconHeight());
}
}
else{
this.setBackground(backgroundcolor);
this.setSize(18, 18);
}
this.addMouseListener(new PopupListener(new PopupMenu()));
}
}
Das PopupMenu
Code:
package Components;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class PopupMenu extends JPopupMenu{
public PopupMenu(){
add(new JMenuItem("Ordner hinzufügen"));
add(new JMenuItem("Verknüpfung hinzufügen"));
}
}
Der Listener
Code:
package Components;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JPopupMenu;
public class PopupListener extends MouseAdapter {
private final JPopupMenu popupmenu;
public PopupListener(JPopupMenu popupmenu){
this.popupmenu = popupmenu;
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
System.out.println("...");
popupmenu.show(e.getComponent(), e.getX(), e.getY());
}
}
}
Ich weis wirklich nicht weiter. :bahnhof: Es gibt keine komplizierten Stellen und mit nem JTree hat es letztens auch wunderbar geklappt. Ich glaub langsam meine JDK und Eclipse starten eine Revolution....
Danke fürs lesen und antworten.