(图像来自我正在处理的一个小型备份应用程序)。如您所见,上面最后一个jlabel
,“取消”按钮在右侧被切断。这种行为显然是不可取的,因为文本中更相关的部分被切断了。
来源
到目前为止,我已经尝试将标签内文本的对齐方式更改为jlabel.right
,将组件方向更改为componentorientation.right_to_left
,设置horizontaltextposition
,但都无济于事:
import javax.swing.*;
import java.awt.*;
public class Backup
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(()->{
JLabel label = new JLabel("Some test text 1 2 3 4 5 6 7 8 9 10 abcdefghjiklmnopqrstuvwxyz", JLabel.RIGHT);
label.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
label.setHorizontalTextPosition(JLabel.RIGHT);
JFrame frame = new JFrame();
frame.add(label);
frame.pack();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
});
}
}
我也尝试过使用HTML:
<html>
<body>
<p style="width:300px;overflow-x:hidden;direction:rtl">
kladsjhglakjsjdghlekfalksjdvhlkjdsnkljhsdlkvjhasdkjhfslkdjhcksdjhvflkasjvhlkajdlkajvsdhvlkjsadhaaaaaaaaaaaaa
</p>
</body>
</html>
虽然它在我的浏览器中的工作方式是正常的,但swing似乎并不支持足够的样式属性来支持这种行为。
编写一个自己的实现并不是太难的事情,它可以满足这样做的要求。然而,我想知道是否有一种“摇摆方式”来实现这一点。
这没有提供前导省略号(…),但至少它是简单和干净的。您可以将JLabel放在JViewport中,并始终将其滚动到最后:
JViewport viewport = new JViewport();
viewport.setView(label);
viewport.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent event) {
int width = viewport.getWidth();
Dimension size = label.getPreferredSize();
viewport.setViewPosition(new Point(size.width - width, 0));
}
});
问题内容: 我有一些简单的python代码,可在文件中搜索字符串,例如,其中部分可能会有所不同。当前代码是: 什么是获取文字的简单方法? 问题答案: 从开始,您可以使用:
我有一个使用制作的基于网页。问题是,我有那些额外的空格在divs的左侧和右侧。基本上内容都在中心。我怎么移除这个? 我试着使用margin-top,margin-left,margin-right,bootstrap的pull-left和pull-right,margin和padding设置为0,width:100%等,没有任何效果。 这里有一张图片: 看左边和右边,这是我想要去掉的空白。我不知道
问题内容: 我有一条路径列表(由于缺少更好的词,也许面包屑痕迹可以更好地描述它们)。有些值太长而无法在其父项中显示,因此我正在使用。问题在于重要信息在右侧,因此我希望省略号出现在左侧。像这样的ASCII艺术: 请注意,第一行足够短,因此仍保持左对齐,而其他两行又太长,因此省略号出现在左侧。 我更喜欢仅CSS的解决方案,但是如果无法避免,JS很好。如果该解决方案仅适用于Firefox和Chrome,
我创建了一个JButton,如果我点击它,就会显示一张卡片。每次我点击这个按钮,下一张相同花色的牌就会出现,这个过程应该继续下去,直到所有13张相同花色的牌都显示出来。我在JLabel的ImageIcon上以图片的形式展示卡片。问题是,如果我想在同一个地方显示所有的牌,第一张牌不会从原来的位置移走,而是将其余的12张牌隐藏起来。这意味着每一张新牌,它应该被展示到它的前一张牌之下。我试图通过使用fr
侧栏是和菜单栏一样,和用户直接交互并呈现用户操作结果和数据的地方,并且包含了很多菜单栏的快捷操作功能。整体上分为场景数据和搜索两部分。 场景数据 场景数据的三维场景包括我的地标、图层和地形3个部分。场景数据以树状结构向用户呈现,每个结构都带一个复选框,可以用于控制数据的显示和隐藏。子节点(具体的元素),或者图层,可以通过双击快速定位(根节点双击是展开和合并)。 【我的地标】:用户自己添加的点、线、
侧栏是和菜单栏一样,和用户直接交互并呈现用户操作结果和数据的地方,并且包含了很多菜单栏的快捷操作功能。整体上分为场景数据和搜索两部分。 场景数据 场景数据的三维场景包括我的地标、图层和地形3个部分。场景数据以树状结构向用户呈现,每个结构都带一个复选框,可以用于控制数据的显示和隐藏。子节点(具体的元素),或者图层,可以通过双击快速定位(根节点双击是展开和合并)。 【我的地标】:用户自己添加的点、线、