【发布时间】:2015-03-07 07:47:07
【问题描述】:
我有一个BorderLayout,主要内容在中间。但是,我在底角有一些内容,它与主要内容重叠,即使那里没有内容。有没有办法让中心重叠?
正文在卷曲开始的同一点切断。
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 的代码。文本以单独的方法添加。
【问题讨论】:
-
"I have some content at the bottom corners, and it is overlapping the main content, even though there is no content there."-- 没有内容怎么能重叠内容??请避免混淆这样的帖子。显示代码和图片,并尽量在你的描述中更清楚。对于代码,最好发布Minimal, Complete, and Verifiable Example Program -
重叠的唯一原因是如果您一直在向
BorderLayout的CENTER位置添加更多组件。考虑提供一个runnable example 来证明您的问题。这将导致更少的混乱和更好的响应
标签: java awt layout-manager border-layout