gpt4 book ai didi

java - 为什么 TabbedPane 在应用 setLookAndFeel 时会丢失背景颜色?

转载 作者:行者123 更新时间:2023-12-02 12:38:11 25 4
gpt4 key购买 nike

无法理解为什么在为我的 Java 应用程序应用 setLookAndFeel 时,tabbedPane 丢失了我之前设置的背景。

应用 setLookAndFeel 之前:

enter image description here

应用 setLookAndFeel 后:

enter image description here

这是我的代码:

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextPane;
import javax.swing.UIManager;

public class CoocHelpPanel {


private JFrame frame;

/**
* Launch the application.
*/
public static void main(String[] args) {
try {
//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CoocHelpPanel window = new CoocHelpPanel();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the application.
*/
public CoocHelpPanel() {
initialize();
frame.setVisible(true);
}

/**
* Initialize the contents of the frame.
*/
private void initialize() {

frame = new JFrame();
frame.setTitle("TEST TAB COLOR");
frame.setResizable(false);
frame.getContentPane().setBackground(Color.WHITE);
frame.setBounds(100, 100, 200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);

JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.setBounds(10, 10, 965, 855);
frame.getContentPane().add(tabbedPane);

JPanel panel = new JPanel();
tabbedPane.addTab("TAB 1 - AAAA", null, panel, null);
tabbedPane.setBackgroundAt(0, Color.red);
panel.setLayout(null);


JPanel panel_1 = new JPanel();
tabbedPane.addTab("TAB 2 - BBBB", null, panel_1, null);
tabbedPane.setBackgroundAt(1, Color.red);
panel_1.setLayout(null);

}
}

最佳答案

如果你查看 setBackgroundAt 的 javadoc,你会看到:
尊重此属性取决于外观和感觉,有些人可能会选择忽略它。
WindowsLookAndFeel 不支持,默认的(金属?)支持。这就是原因。

关于java - 为什么 TabbedPane 在应用 setLookAndFeel 时会丢失背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45062171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com