gpt4 book ai didi

java - BorderLayout 显示边框线

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:46:06 27 4
gpt4 key购买 nike

我的Java GUI不是很好,需要寻求帮助。

我打算在我的 BorderLayout 的西边添加图片,中心是我的内容,按钮在底部。

我创建了一个空边框,以便在我的南面板与西面板和中心面板之间制作一些填充物。现在我只想在南边界的顶部添加一条线。

如下图所示,西面板和中心面板之间也有一条线,我怎样才能去掉那条线并保持横跨南面板顶部的线?

附上我的代码:

enter image description here

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class test {
public static void main(String[] args) {

JPanel panel1 = new JPanel(new BorderLayout());
JPanel panel2 = new JPanel(new FlowLayout());
JPanel panel3 = new JPanel(new FlowLayout());
JPanel panel4 = new JPanel(new FlowLayout());

JFrame frame = new JFrame();

panel2.add( new JLabel( "WEST <will be adding image here>" ));
panel3.add( new JLabel( "CENTER <contents>"));
panel4.add( new JLabel( "SOUTH <will be adding buttons>" ));

panel1.add(panel2, BorderLayout.WEST);
panel1.add(panel3, BorderLayout.CENTER);
panel1.add(panel4, BorderLayout.SOUTH);

panel2.setBorder(BorderFactory.createRaisedBevelBorder());
panel3.setBorder(BorderFactory.createRaisedBevelBorder());
panel4.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));

frame.add(panel1);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.pack();
frame.setSize(510,390);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setResizable(false);
}
}

最佳答案

要移除WEST和CENTER之间的边界,只需移除它们的边界

panel2.setBorder(BorderFactory.createRaisedBevelBorder());
panel3.setBorder(BorderFactory.createRaisedBevelBorder());

如果您想保留它们与框架边缘的边框,请改为向 panel1 添加边框。

至于南,如果你想“在南边界的顶部添加一条线”并保留空边界,使用:

panel4.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(10, 10, 10, 10),
BorderFactory.createMatteBorder(2, 0, 0, 0, Color.BLACK)));

createRaisedBevelBorder() 而不是 createMatteBorder

请记住,您可以切换边框的顺序及其样式。查看tutorial了解更多信息。

Inner: matte, outer: empty Inner: empty, outer: matte

关于java - BorderLayout 显示边框线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078618/

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