JLabel在另一个JLabel之上

ann*_*aoj 6 java swing jlabel

是否可以在另一个JLabel之上添加JLabel?谢谢.

coo*_*ird 8

简短的回答是肯定的,因为a JLabel是a Container,所以它可以接受a Component(a JLabel是子类Component)JLabel通过使用add方法添加到:

JLabel outsideLabel = new JLabel("Hello");
JLabel insideLabel = new JLabel("World");
outsideLabel.add(insideLabel);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,将insideLabel添加到outsideLabel.

但是,在视觉上,显示带有"Hello"文本的标签,因此无法真正看到标签中包含的标签.

因此,问题在于通过在另一个标签上添加标签来实现真正想要实现的目标.


编辑:

来自评论:

好吧,我想要做的是首先,从文件中读取一定的分数,然后在jlabel中显示该分数.我想到的是将分数分成3部分,然后为三者中的每一部分使用一个标签.然后第二,我想能够拖动分数,所以我想我可以使用另一个jlabel,并将3'mini jlabels'放在大jlabel上.我不知道这是否会起作用..:|

听起来应该研究如何在Java中使用布局管理器.

一个良好的开始是使用布局管理器视觉引导布局管理器,无论是从Java教程.

听起来这GridLayout可能是完成任务的一种选择.

JPanel p = new JPanel(new GridLayout(0, 1));
p.add(new JLabel("One"));
p.add(new JLabel("Two"));
p.add(new JLabel("Three"));
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,JPanel使用a GridLayout作为布局管理器,并被告知要生成一行JLabels.