У меня следующий макет, разработанный с использованием JTabbedPane, и я хочу изменить цвет выделенной части. Но я не могу это сделать.
Мой вопрос
Как изменить цвет фона?
Что я пробовал?
I Я пытался изменить background-color
и Foreground-color
как JPanel, так и JTabbedPane, но безуспешно.
Я также пытался это сделать, сохраняя Opaque = false
в свойствах, но не повезло.
jTabbedPane1.setForegroundAt(1, Color.yellow);
jTabbedPane1.setForegroundAt(2, Color.yellow);
Обновление 1
String[] tabNames = {"Signin", "General", "Call Rate", "Audio Device","tab 5","tab 6","tab 7","tab 8","tab 9"};
for (int i = 0; i < tabNames.length; i++) {
JLabel lab = new JLabel("<html><font color=white>" + tabNames[i] + "</font></html>", SwingConstants.CENTER);
lab.setForeground(Color.red);
lab.setBackground(Color.BLUE);
lab.setPreferredSize(new Dimension(200, 50));
lab.setFont(new Font("Times New Roman", Font.BOLD, 22));
jTabbedPane1.setTabComponentAt(i, lab);
}
for (int i = 0; i < this.jTabbedPane1.getTabCount(); i++) {
jTabbedPane1.setBackgroundAt(i,Color.DARK_GRAY);
}
Я пытался добавить JLabel
, чтобы изменить размер компонент, в котором отображается имя моей вкладки, а затем попытался установить setBackgroundAt
. Ни он не работает, ни setBackground
и setForeground
не работают на Label.
Мой взгляд и ощущение
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Settings.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}