hallo,
ich möchte gerne in einem jframe ein jpanel erzeugen und auch anezeigen und auf der gleichen weise wieder entfernen. das soll so ähnlich funktionieren, wei bei jmenu oder jpopupmenu. wenn ich auf einen button drücke, soll es erschein. aber es soll halt kein popupmenu sein, weil ich mehr damit machen will. jdialog oder ein weiters jframe kann ich auch nicht benutzen, da das hauptfenster den focus verliert und das sieht nicht so gut aus. hier mein code, der leider nicht funktioniert:
von außen wird updateAndShow. this ist jpanel. hat jemand vllt ne idee?
mfg
ich möchte gerne in einem jframe ein jpanel erzeugen und auch anezeigen und auf der gleichen weise wieder entfernen. das soll so ähnlich funktionieren, wei bei jmenu oder jpopupmenu. wenn ich auf einen button drücke, soll es erschein. aber es soll halt kein popupmenu sein, weil ich mehr damit machen will. jdialog oder ein weiters jframe kann ich auch nicht benutzen, da das hauptfenster den focus verliert und das sieht nicht so gut aus. hier mein code, der leider nicht funktioniert:
Code:
...
public void updateAndShow(String[] processes, Component c) {
update(processes);
state = CANCEL_OPTION;
Rectangle rec = c.getBounds();
Point p = c.getLocationOnScreen();
setLocation(p.x-1, p.y+rec.height+1);
showPanel(c, c.getX(), c.getY());
}
private static JFrame getFrame(Component c) {
Component comp = c;
while(!(comp instanceof JFrame) && (comp!=null)) {
comp = comp.getParent();
}
return (JFrame)comp;
}
private void showPanel(Component c, int x, int y) {
JFrame frame = getFrame(c);
frame.getContentPane().add(this);
frame.add(this);
setLocation(x, y);
setVisible(true);
validate();
frame.validate();
frame.repaint();
}
...
mfg
Zuletzt bearbeitet: