Swing jpanel in jframe erzeugen und anzeigen

Status
Nicht offen für weitere Antworten.

hoveman

Mitglied
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:

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();
    }
...
von außen wird updateAndShow. this ist jpanel. hat jemand vllt ne idee?
mfg
 
Zuletzt bearbeitet:
S

SlaterB

Gast
setLocation bringt nix, wenn das ContentPane des JFrame ein Layout benutzt,
angenommen es ist das Standard-BorderLayout,
dann kann man eh nur hauptsächlich eine Komponente anzeigen, alles weitere mit add hinzugefügte ist nicht zu sehen, insofern recht logisch

- welches Layout fürs ContentPane?
- welche Komponenten sind schon da, sollen die alten entfernt werden, alles nebeneinander oder wie,
- lauffähigen Code + Screenshots/ Skizzen/ Beschreibungen von vorher + gewünschten nachher
 
G

Gast2

Gast
für dein vorhaben(zumindest) das was du beschrieben hast, find ich deine vorgehensweise viel zu kompliziert...
hier mal ein einfaches bsp.
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.util.Random;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;



public class TestPanel extends JFrame{

    private JPanel northPanel;
    private JPanel centerPanel;
    public TestPanel()
    {
        super("TestPanel");
        northPanel = new JPanel();
        AbstractAction abstractAction = new AbstractAction("Switch Color")
        {

            public void actionPerformed(ActionEvent e) {
                Random random = new Random();

                int r = random.nextInt(255);
                int g = random.nextInt(255);
                int b = random.nextInt(255);
                remove(centerPanel);
                centerPanel = new ColorPanel(new Color(r,g,b));
                add(centerPanel, BorderLayout.CENTER);
                validate();
                repaint();
                
            }
            
        };
        northPanel.add(new JButton(abstractAction));
        centerPanel = new JPanel();
        add(centerPanel, BorderLayout.CENTER);
        add(northPanel, BorderLayout.NORTH);
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }
    
    public class ColorPanel extends JPanel
    {
        public ColorPanel(Color c)
        {
            setBackground(c);
        }
    }
    
    public static void main(String[] args) {
        new TestPanel();
    }
}
 

hoveman

Mitglied
ich bin auf arbeit und kann deswegen leider keine bilder hochladen.
im grunde ich will ich nur, dass sich bei einem klick auf einen button ein jpanel o.ä. öffnet, wo man dann checkboxen, jlist usw ... anzeigen kann.
das hab ich auch schon geschafft, mit jdialog und jframe. nur dann verliert das hauptframe den focus. das möchte ich aber nicht. da hab ich mir gedacht, ich nehme einfach ein jpanel und zeig das im hauptframe an. das panel soll/kann auch ein paar dinge vom hauptframe überdecken, es soll aber nicht das layout vom frame ändern! es soll einfach nur "rüber" gemalt werden wie es zb bei jpopup oder bei jmenu der fall ist. da wird ja auch einfach "rüber" gezeichnet und das hauptfenster verliert nicht den focus.
ich hoffe, das ist verständlich.:eek:
 
G

Gast2

Gast
ich bin auf arbeit und kann deswegen leider keine bilder hochladen.
im grunde ich will ich nur, dass sich bei einem klick auf einen button ein jpanel o.ä. öffnet, wo man dann checkboxen, jlist usw ... anzeigen kann.
das hab ich auch schon geschafft, mit jdialog und jframe. nur dann verliert das hauptframe den focus. das möchte ich aber nicht. da hab ich mir gedacht, ich nehme einfach ein jpanel und zeig das im hauptframe an. das panel soll/kann auch ein paar dinge vom hauptframe überdecken, es soll aber nicht das layout vom frame ändern! es soll einfach nur "rüber" gemalt werden wie es zb bei jpopup oder bei jmenu der fall ist. da wird ja auch einfach "rüber" gezeichnet und das hauptfenster verliert nicht den focus.
ich hoffe, das ist verständlich.:eek:

ganz ehrlich nö...

Was ist genau dein problem??? du nimmst ein JPanel und setzt darauf deine Komponenten... und diese Panel addest du auf dein JFrame...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
A Externes JFrame in ein JPanel AWT, Swing, JavaFX & SWT 5
O Swing Jpanel autom. auf JFrame Größe bringen AWT, Swing, JavaFX & SWT 6
B JFrame mit neuem JPanel überschreiben AWT, Swing, JavaFX & SWT 13
B Verschachtelte jframe oder jpanel mit backgrounds AWT, Swing, JavaFX & SWT 10
H Swing JFrame und JPanel Problematik AWT, Swing, JavaFX & SWT 9
G 2D-Grafik JFrame & JPanel im Vollbild AWT, Swing, JavaFX & SWT 2
M Swing Daten von JPanel zu JFrame senden AWT, Swing, JavaFX & SWT 13
M Swing Scrollbar im JFrame (JPanel?) AWT, Swing, JavaFX & SWT 6
P Problem beim erstellen eines JPanel in einem JFrame AWT, Swing, JavaFX & SWT 7
J JPanel vs JFrame Längeneinheit AWT, Swing, JavaFX & SWT 3
P nicht sichtbares JPanel / JFrame als Image speichern AWT, Swing, JavaFX & SWT 3
E JPanel in JFrame integrieren AWT, Swing, JavaFX & SWT 3
M JPanel an JFrame anpassen AWT, Swing, JavaFX & SWT 7
F jpanel oder jframe Formular AWT, Swing, JavaFX & SWT 4
C Swing JPanel Größe relativ zum JFrame AWT, Swing, JavaFX & SWT 9
R JPanel auf JFrame neu zeichnen AWT, Swing, JavaFX & SWT 11
V JFrame in JPanel positionieren AWT, Swing, JavaFX & SWT 5
A JFrame > JTabbedPane > JPanel > addKeyListener AWT, Swing, JavaFX & SWT 18
N JPanel zum JFrame hinzufügen AWT, Swing, JavaFX & SWT 9
C JFrame nach JPanel abfragen AWT, Swing, JavaFX & SWT 6
V Zeichnen auf JPanel und in JFrame einfügen AWT, Swing, JavaFX & SWT 16
R JFrame und JPanel - Unschönheiten AWT, Swing, JavaFX & SWT 6
G JFrame ohne JPanel AWT, Swing, JavaFX & SWT 5
thE_29 Bufferungsproblem JFrame/JPanel/ContentPane AWT, Swing, JavaFX & SWT 2
S JFrame-Klasse soll ein/mehrere Objekte einer JPanel-Klasse-& AWT, Swing, JavaFX & SWT 3
R per Mausclick JPanel tauschen in JFrame AWT, Swing, JavaFX & SWT 4
E JPanel aus auf dem JFrame AWT, Swing, JavaFX & SWT 6
M JScrollPane im JPanel im JFrame SWING AWT, Swing, JavaFX & SWT 4
G JFrame JPanel und Paint(Image)? AWT, Swing, JavaFX & SWT 6
G JFrame,JPanel,JTextField und KeyListener AWT, Swing, JavaFX & SWT 6
E Bestehende Anwendung erweitern ->JFrame in JPanel verpack AWT, Swing, JavaFX & SWT 4
T Editor auf Basis JFrame in ein JPanel wandeln - Problem! AWT, Swing, JavaFX & SWT 5
F Probleme bei add(Component) JPanel > JFrame AWT, Swing, JavaFX & SWT 3
P leidige Frage zum JPanel und zum JFrame AWT, Swing, JavaFX & SWT 6
G Probleme mit JProgressbar auf JPanel in JFrame AWT, Swing, JavaFX & SWT 6
G JPanel laedt nur bei JFrame Größenveränderung AWT, Swing, JavaFX & SWT 3
K jPanel in jFrame AWT, Swing, JavaFX & SWT 4
P JPanel in ein JFrame einfügen AWT, Swing, JavaFX & SWT 6
R NetBeans - JFrame und JPanel AWT, Swing, JavaFX & SWT 3
G Hintergrundbild auf JFrame oder JPanel AWT, Swing, JavaFX & SWT 3
A Swing JFrame / JPanel Grösse soll sich nach Inhalt richten. AWT, Swing, JavaFX & SWT 2
G JFrame auf JFrame oder JPanel auf JFrame AWT, Swing, JavaFX & SWT 1
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
M clear JPanel before repainting AWT, Swing, JavaFX & SWT 1
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
F JPanel Celleditor AWT, Swing, JavaFX & SWT 8
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
Ich lerne Java. Swing Von JPanel A auf JPanel B zugreifen. AWT, Swing, JavaFX & SWT 4
A JPanel austauschen und Focus geben AWT, Swing, JavaFX & SWT 3
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
L JComponent aus JPanel anhand Mausposition ermitteln AWT, Swing, JavaFX & SWT 10
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
B Verschiebbares JPanel "ruckelt" im Randbereich AWT, Swing, JavaFX & SWT 2
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
Hatsi09 Swing JPanel Bild einfügen AWT, Swing, JavaFX & SWT 14
L JPanel zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 1
dereki2000 JPanel mit Rückgbe wie bei JOptionPane AWT, Swing, JavaFX & SWT 3
E Hintergrundfarbe setzen in JPanel funktioneirt nicht AWT, Swing, JavaFX & SWT 4
P JPanel KeyListener hinzufügen AWT, Swing, JavaFX & SWT 8
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
D Platzierung von JTextfield in JPanel AWT, Swing, JavaFX & SWT 3
D Swing Anwendung ohne JPanel erstellen AWT, Swing, JavaFX & SWT 1
M Swing JPanel in JScrollPane AWT, Swing, JavaFX & SWT 3
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
B Bar Plot in Swing JPanel AWT, Swing, JavaFX & SWT 0
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JPanel rotieren, Bild ist abgeschnitten, Clipping? AWT, Swing, JavaFX & SWT 0
M Swing JPanel flüssig verschieben AWT, Swing, JavaFX & SWT 5
G Nur ein JPanel wird angezeigt AWT, Swing, JavaFX & SWT 9
kilopack15 JPanel im laufenden Zustand einfärben AWT, Swing, JavaFX & SWT 2
kilopack15 JPanel Farbverwaltung AWT, Swing, JavaFX & SWT 1
A JScrollPane soll JPanel mit JButtons enthalten und eine Scollbar anzeigen AWT, Swing, JavaFX & SWT 1
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
L JPanel zeichnet im Konstrukter erzeugten Hintergrund nicht AWT, Swing, JavaFX & SWT 10
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben