- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试理解 java swing 代码。我在其中看到一段使用 EmptyBorder 的代码,但我不明白它在做什么。我试图评论那部分并在没有应用 emptyborder 的情况下运行,但它对我来说并没有真正显示出任何区别。还是我只是错过了 UI 中的一些微小变化?
代码:
EmptyBorder border1 = new EmptyBorder(3, 0, 6, 550);
.....
JLabel pdt = new JLabel();
pdt.setIcon(icon);
pdt.setText("blah blah");
pdt.setIconTextGap(5);
pdt.setBorder(border1);
....
border1 在这里做什么。
我可以使用 EmptyBorder 在 FlowLayout 中的一组控件之间设置间距吗?
最佳答案
正如我在评论中提到的,它只是在其添加的组件周围添加了一个透明边框,有时效果可能很难看到,具体取决于您使用的布局管理器,因此我将在其中包含一些使用中的图片流式布局(很容易看到流式布局的效果):
这是没有添加边框的流布局:
这里是border左右分别设置为100和300的流式布局,border应用于第一个label。
最后,这里有一些代码供您测试情况如何变化:
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class EmptyBorderShowCase extends JFrame{
private static final long serialVersionUID = 1L;
public EmptyBorderShowCase(){
JPanel displayPanel = new JPanel(new FlowLayout());
final int BOTTOM = 0;
final int LEFT = 100;
final int RIGHT = 300;
final int TOP = 0;
EmptyBorder border1 = new EmptyBorder(TOP, LEFT, BOTTOM,RIGHT );
JLabel firstLabel = new JLabel("FIRST");
firstLabel.setBorder(border1);
JLabel secondLabel = new JLabel("SECOND");
displayPanel.add(firstLabel);
displayPanel.add(secondLabel);
setContentPane(displayPanel);
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[]args){
new EmptyBorderShowCase();
}
}
关于java - EmptyBorder 究竟做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40759013/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!