Я буду создавать несколько компонентов Jlabel одним кликом JButton. Я знаю, как создать метку и установить текст внутри, но я хочу, чтобы эта метка имела цвет.
Я знаю, как изменить цвет метки только в том случае, если у нее есть имя, но важной частью моей программы является то, что когда я объявляю метки, у меня нет для них имен, как показано в коде ниже:
newPanel.add(new JLabel("jlabel text"), g);
Как установить цвет этикетки?
Но смогу ли я со временем добавить несколько jLabels разных цветов, используя одно и то же имя?
@Anon, если я правильно вас понял, вам, вероятно, нужна функция, которая принимает и цвет, и текст, и возвращает новую метку jlabel, которую вы можете передать add в той же строке.
@Anon Локальные переменные существуют только на время блока (по сути, от ближайшего { над ним до соответствующего }). «То же самое имя» — это всего лишь временный псевдоним, и оно не обязательно должно ссылаться на один и тот же объект между несколькими вызовами.
@ Анон Возможно, вы слишком рано вскочили в качели, я предлагаю вам еще раз прочитать об основах.
Ты прав, ха-ха, но я делаю это для школьного проекта, где мы можем выбирать, что мы делаем, теперь нет пути назад, лол, поэтому я должен сделать все возможное.




I don't have names for them as shown in the code below:
newPanel.add(new JLabel("jlabel text"), g);
Итак, дайте ярлыку имя:
JLabel label = new JLabel("label text");
label.setOpaque( true );
label.setBackground( Color.RED );
newPanel.add(label, g);
yourLabel.setForeground(new java.awt.Color(r,g,b);
Вы должны присвоить метку переменной, чтобы вы могли выполнять над ней дополнительные операции:
JLabel myLabel = new JLabel("jlabel text");
myLabel.setForeground(new java.awt.Color.RED);
newPanel.add(myLabel);
Теперь поместите этот код в функцию, например, в обработчик событий для вашей кнопки. Каждый раз, когда вы нажимаете кнопку, создается новый JLabel. Имя myLabel относится только к текущему создаваемому. Так что да, вы можете повторно использовать одно и то же имя для ссылки на другой объект JLabel. В данный момент имя может относиться только к одному JLabel за раз.
Что вы имеете в виду
I don't have names. Создайте локальную переменную для метки и выполните над ней все необходимые действия, прежде чем добавить ее на панель.