Короткий ответ - да, поскольку JLabel
является Container
, поэтому он может принять Component
(JLabel
является подклассом Component
) для добавления в JLabel
с использованием метода add
:
JLabel outsideLabel = new JLabel("Hello");
JLabel insideLabel = new JLabel("World");
outsideLabel.add(insideLabel);
В приведенном выше коде insideLabel
добавляется к outsideLabel
.
Однако визуально появляется метка с текстом «Hello», поэтому на самом деле нельзя увидеть метку, содержащуюся в метке.
Итак, вопрос сводится к тому, чего вы действительно хотите достичь, добавив ярлык поверх другого ярлыка.
Edit:
Из комментариев:
ну, то, что я хотел сделать, это сначала,
читать определенную часть из файла,
затем отобразить эту дробь в
JLabel. что я думал о том, чтобы
разделите дробь на 3 части, затем
используйте ярлык для каждого из трех.
затем, во-вторых, я хочу быть в состоянии перетащить
фракция, поэтому я думал, что мог бы использовать
еще один джабель и поместите 3'мини
Джабелс над большим джабелем. Я не
знаю, будет ли это работать, хотя ..: |
Похоже, стоит подумать, как использовать менеджеры компоновки в 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"));
В приведенном выше примере JPanel
используется для использования GridLayout
в качестве диспетчера раскладки, и ему предписано сделать строку из JLabel
s.