如果我在东侧或西侧添加像 JButton
这样的组件,我如何防止它紧贴屏幕的一侧?我想要在 JButton
和屏幕边缘之间留出一些空间。
最佳答案
像这样在您的 JButton 上调用 setBorder
:
setBorder( new EmptyBorder( 3, 3, 3, 3 ) )
在 JavaDoc 中,EmptyBorder 是“占用空间但不绘制的透明边框”。在我的示例中,它应分别占用顶部、左侧、底部和右侧 3 个像素。
仅用于展示如何使用 EmptyBorder 的完整代码:
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.border.EmptyBorder;
public class ALineBorder {
public static void main(String args[]) {
JFrame frame = new JFrame("Line Borders");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button1 = new JButton("Button1");
button1.setBorder( new EmptyBorder( 8, 8, 8, 8 ) );
JButton button2 = new JButton("Button2");
JButton button3 = new JButton("Button3");
button3.setBorder( new EmptyBorder( 16, 16, 16, 16 ) );
Container contentPane = frame.getContentPane();
contentPane.add(button1, BorderLayout.WEST);
contentPane.add(button2, BorderLayout.CENTER);
contentPane.add(button3, BorderLayout.EAST);
frame.pack();
frame.setSize(300, frame.getHeight());
frame.setVisible(true);
}
}
关于Java - 如何防止 BorderLayout EAST 紧贴屏幕的一侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212647/