gpt4 book ai didi

java - 如何让BorderLayout的中心位于顶部

转载 作者:行者123 更新时间:2023-12-02 05:05:21 24 4
gpt4 key购买 nike

我有一个BorderLayout,主要内容在中心。但是,我在底角有一些内容,并且它与主要内容重叠,即使那里没有内容。有没有办法让中心重叠?

enter image description here

正文在 curl 开始的同一点处中断。

private void prepareGUI() throws IOException {

mainFrame = new JFrame("Holy Bible");
mainFrame.setSize(700, 500);
mainFrame.setLayout(new BorderLayout());
mainFrame.setLocationRelativeTo(null);
mainFrame.setIconImage(new ImageIcon(getClass().getResource("/assets/bible/textures/icon.png")).getImage());
mainFrame.getContentPane().setBackground(Color.WHITE);
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
mainFrame.addKeyListener(this);

centerPanel = new JPanel();
centerPanel.setBackground(Color.WHITE);
centerPanel.setLayout(new FlowLayout());

leftLabel = new JLabel("", JLabel.CENTER);
leftLabel.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
centerPanel.add(leftLabel);

rightLabel = new JLabel("", JLabel.CENTER);
rightLabel.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
centerPanel.add(rightLabel);

leftCurl = new JLabel();
leftCurl.setHorizontalAlignment(JLabel.LEFT);
leftCurl.setVerticalAlignment(JLabel.BOTTOM);
leftCurl.setIcon(new ImageIcon(getClass().getResource("/assets/bible/textures/curlleft15.png")));
mainFrame.add(leftCurl, BorderLayout.SOUTH);

rightCurl = new JLabel();
rightCurl.setHorizontalAlignment(JLabel.RIGHT);
rightCurl.setVerticalAlignment(JLabel.BOTTOM);
rightCurl.setIcon(new ImageIcon(getClass().getResource("/assets/bible/textures/curlright15.png")));
mainFrame.add(rightCurl, BorderLayout.SOUTH);

mainFrame.add(centerPanel, BorderLayout.CENTER);
mainFrame.setExtendedState(JFrame.MAXIMIZED_BOTH); // Maximizes frame
mainFrame.setUndecorated(fullScreen);
mainFrame.setVisible(true);
}

这是准备 GUI 的代码。文本是通过单独的方法添加的。

最佳答案

您可能需要嵌套 JPanel 和布局来实现您的目标。例如,两个使用 BorderLayout 的 JPanel 可以帮助主 JPanel 使用 BorderLayout,将文本添加到 CENTER 位置。然后将另一个使用 BorderLayout 的 JPanel 添加到主 JPanel 的 EAST 或 LINE_END 位置。将卷页放置在第二个 JPanel 的 BorderLayout.PAGE_END 或 SOUTH 位置。

关于java - 如何让BorderLayout的中心位于顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com