我编写了一个组件,它使用BoxLayout对一些JLabels进行水平布局,然后使用glue(我希望JLabels的宽度保持不变)。例如:
我需要为每个JLabel添加两行文本,所以我使用了一点HTML。当我添加HTML时,BoxLayout就不再尊重胶水了。我得到的是:
我可以通过指定最大大小应该等于首选大小(指定首选大小没有影响)来绕过这个问题。这是正确的做法吗?当我的JLabels中有HTML时,为什么glue似乎被忽略了,有什么解释吗?
MWE:
import javax.swing.*;
import java.awt.*;
public class LabelBreak extends JFrame {
JPanel panel;
public LabelBreak() {
setTitle("Frame");
panel = new MyPanel();
panel.setPreferredSize(new Dimension(500, 100));
add(panel);
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JFrame frame = new LabelBreak();
frame.pack();
frame.setVisible(true);
});
}
private static class MyPanel extends JPanel {
private MyPanel() {
super();
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JPanel header = new JPanel();
header.setLayout(new BoxLayout(header, BoxLayout.X_AXIS));
//JLabel label = new JLabel("One");
JLabel label = new JLabel("<html>One<br>is<br>the<br>loneliest<br>number</html>");
label.setBorder(BorderFactory.createLineBorder(Color.RED, 2));
header.add(label);
label = new JLabel("Two");
label.setBorder(BorderFactory.createLineBorder(Color.RED, 2));
header.add(label);
header.add(Box.createHorizontalGlue());
this.add(header);
}
}
}
当我的JLabels中有HTML时,为什么glue似乎被忽略了,有什么解释吗?
BoxLayout将尊重组件的最大大小(和最小大小)。
对于普通文本,最大大小将是组件的首选大小,因此胶水按预期工作。
@Override
public Dimension getMaximumSize()
{
return getPreferredSize();
}
我正在尝试创建一个,它由HTML文本和助记符组成。效果很好。我能够获取为其设置标签的组件的焦点。 感谢任何回答。
我试图将一个JLabel和一个JScrollPane(包含一个JTextArea)对齐到一个JPanel的左边。当我把JTextArea直接放在面板中时,对齐是正确的。只有当JTextArea在滚动窗格中时,对齐方式才不正确。 下面的第一个图像带有滚动窗格,第二个图像没有滚动窗格。如何正确对齐滚动窗格?
问题内容: 在纯Java SE 6环境中: Eclipse控制台中未显示任何内容。 l.info(“”) 及以上的作品就好了,但低于任何 罚款 只是似乎没有工作。有什么问题吗?TIA。 问题答案: 即使Logger级别设置为ALL,ConsoleHandler(记录器上的默认Handler)仍然具有INFO的默认级别。这来自 JAVA_HOME / jre / lib中 的默认logging.pr
我有一个将launchMode设置为singleTask的活动: 我有一个持续的通知,其中包含启动该活动的PendingIntent: 当我与现有的MyActivity交互时,我点击Home并通过启动器重新启动MyActivity,MyActivity的按预期调用。 问题是,当我与现有的MyActivity交互时,我点击正在进行的通知,通过创建一个新的MyActivity,通过销毁现有的MyAct
配置。php(已编辑但仍有相同的问题): 我的索引。php: 结果是我的网站标题是 不像我想。。。 有什么我应该改变的吗?目标是:我想在因此,如果需要编辑,只需编辑配置即可。php ----编辑----顺便说一句,谢谢你的回答,现在是工作 我使用@Tanuel评论 再次感谢你 我根据第一个答案对答案(绿色清单)进行投票,因为我使用了来自评论的语法
场景:我已经使用helm图表部署了一个服务,我可以在我的hpa设置中看到我的服务、hpa、部署、吊舱等:最小吊舱计数被设置为1。我可以看到我的吊舱正在运行,能够处理服务请求。 过了一段时间--我已经执行了--“Kubectl scale Deploy--Replicas=0”一旦运行上面的命令,我就可以看到我的pod被删除了(尽管hpa最小pod设置被设置为1),但我希望过一段时间后hpa会扩展到