- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JFrame 和一个 ImageIcon 作为 JLabel,我希望它们完全脱离 JFrame。
代码:
JFrame frame = new JFrame("test");
frame.setSize(1000, 1000);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
BufferedImage bf = ImageIO.read(new File(FILEPATH));
img = new JLabel(new ImageIcon(bf));
} catch (IOException e) {
e.printStackTrace();
}
frame.getContentPane().add(img);
img.setBorder(new EmptyBorder(0, frame.getContentPane().getWidth(), 0, 0));
此代码仅使 JLabel/图像显示在屏幕的一半之外。我可以通过将 EmptyBorder
的左侧参数设置为 frame.getContentPane.getWidth() * 2
来轻松修复它,但我只是想知道为什么它似乎会剪切插图距离减半。根据我的测试,如果 JLabel 包含 ImageIcon,则只会将其减半。如果它包含文本,则插图将按其应有的方式工作。我只测试了文本和 ImageIcon。
最佳答案
不确定确切的计算方式,但默认情况下图标位于可用空间的中心。
正如您所注意到的,当仅显示图标时,图标似乎向左移动了图标大小的一半。
如果您同时有图标和文本(或只有文本),则不会发生这种情况。
一种解决方案是:
img = new JLabel(new ImageIcon(bf), SwingConstants.LEFT);
关于java - JLabel 上的 EmptyBorder 仅插入了应有内容的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47604198/
我正在尝试理解 java swing 代码。我在其中看到一段使用 EmptyBorder 的代码,但我不明白它在做什么。我试图评论那部分并在没有应用 emptyborder 的情况下运行,但它对我来说
我有一个 JFrame 和一个 ImageIcon 作为 JLabel,我希望它们完全脱离 JFrame。 代码: JFrame frame = new JFrame("test"); frame.s
我的代码无法将自定义 JComponent 对象的边框设置为 new EmptyBorder(50, 50, 50, 50)。这是它在我的显示器上的样子(如您所见,它显然适用于 JButton 但不适
我在我的 JCheckBox 周围设置了一个 EmptyBorder (为了缩进它,但这并不重要)。当我选择(或取消选择)JCheckBox 时,其周围的边框将绘制为黑色虚线。我根本不想看到这个边界。
我有一个自定义的 JPanel,重写了 paintComponent 方法来绘制图像。 我想在一个容器中垂直居中插入几个自定义面板。为此,我使用 BoxLayout.X_AXIS 创建了一个 jpan
我正在 Mac 上使用 Eclipse 设计一个 GUI,我想让 JButton 只显示我设置的图标。它在 Mac 操作系统上看起来不错,但是当我将它导出到 jar 文件并在 Windows 操作系统
我是一名优秀的程序员,十分优秀!