我有JLabel
内容未知,我有两件事我想做:
Verylonglabel
变为
Veryl
在gui中对组件使用静态宽度是不是一个坏主意?如果是这样的话,那么替代方案是什么?请给我建议!
非常感谢您对这两种方面的帮助。
到目前为止,我只是搞砸了一下,并尝试了这样的事情而没有成功。它似乎根本不关心大小。
JLabel label = new JLabel("Verylonglabel");
label.setSize(15, 5);
最好的问候,Goatcat
答案 0 :(得分:5)
JLabel
的大小由父容器的LayoutManager
决定。有关详细信息,请参阅the tutorial。
请注意,JLabel
已经有您要查找的行为
setToolTipText
方法指定工具提示,将鼠标悬停在JLabel
答案 1 :(得分:1)
这就是您所需要的:
JLabel label = new JLabel("Verylonglabel");
// Create tool tip.
label.setToolTipText(label2.getText());
// Set the size of the label
label.setPreferredSize(new Dimension(80,40));// Width, Height
答案 2 :(得分:0)
setMaximumSize
只有在您使用的LayoutManager
尊重组件的所需/最大尺寸时才有效。您可能希望将BoxLayout
视为LayoutManager
。与其他几个Swing LayoutManagers不同,BoxLayout
尊重其组件的大小设置。
这仍然会让您知道要设置为最大尺寸的尺寸。宽度将是您定位的固定值,但高度应足够大,无论使用何种字体。这是我用来使高度灵活但宽度固定为50像素的代码:
label.setMaximumSize(new Dimension(10000, 50));
最后,工具提示将显示完整的标签文本,其中包含以下行:
label.setToolTipText(labelText);