Wie kann ich ein JPanel an den unteren Rand eines JFrame oder JDialog "kleben"?

... komplette Frage anzeigen

3 Antworten

Wenn es am unteren Rand klebt, dann ist y=frame.getHeight()-panel.getHeight().

Um es dynamisch an die Größe des Frames anzupassen, kannst du einen ComponentListener verwenden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Schloni1995
01.04.2016, 11:10

Leider bleibt beim Panel stur am oberen Panel hängen

0

Gut Leute ich hab es glaube... Ich hatte das Panel in ein anderes Panel gesteckt und da kommt es mit den Layouts ni so gut klar. Ich habe das jetzt in mein frame eingebunden und da gehts... Trotzdem danke euch

Antwort bewerten Vielen Dank für Deine Bewertung

Eine Option wäre: Du verwendest das BorderLayout und hängst anschließend das Panel in den South-Bereich:

JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
JPanel panel = new JPanel();
panel.setBackground(Color.red);
frame.add(panel, BorderLayout.SOUTH);
frame.setSize(300, 300);
frame.setVisible(true);
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Schloni1995
01.04.2016, 11:04

Borderlayout hab ich ja auch genutzt, doch weder page_end, noch south haben funktioniert!

0
Kommentar von Schloni1995
01.04.2016, 11:15
public JPanel getMainPanel()
{

if (mainPanel == null)
{
mainPanel = new JPanel();
mainPanel.setBackground(RTColors.getRimeDunkelBlau());
mainPanel.add(getSchichtPanel(), BorderLayout.PAGE_START);
mainPanel.add(getVorratPanel(), BorderLayout.CENTER);
mainPanel.add(getButtonPanel());
//Und hier hab ich schon BorderLayout.SOUTH & BorderLayout.PAGE_END
}

mainPanel.setPreferredSize(new Dimension(1620, Toolkit.getDefaultToolkit().getScreenSize().height-80));
return mainPanel;
private JPanel getVorratPanel()

{
if (vorratPanel==null)
{
vorratPanel = new JPanel();
vorratPanel.setPreferredSize(new Dimension(1600, Toolkit.getDefaultToolkit().getScreenSize().height-650));
}
return vorratPanel;
}

private JPanel getButtonPanel()
{
if (buttonPanel==null)
{
buttonPanel = new JPanel();
buttonPanel.setPreferredSize(new Dimension(Toolkit.getDefaultToolkit().getScreenSize().width-40,35));
buttonPanel.setLocation(0, getMainPanel().getHeight()- buttonPanel.getHeight());
buttonPanel.add(getRefreshButton());
buttonPanel.add(getCorrectButton());
buttonPanel.add(getCleanButton());
buttonPanel.add(getPrintButton());
buttonPanel.add(getSchoolMButton());
}
return buttonPanel;
}
0

Was möchtest Du wissen?