java jtextpane底色,JTextPane背景色

I am making a text-based game where the user inputs text to solve the game. I decided to use java swing to display the text, and I want to have the background of the textPane to be black. I have tried everything I have found (commented out), but non of it seems to work.

private JTextPane blackJTextPane() {

//JTextPane area = new JTextPane();

//area.setBackground(Color.BLACK);

//area.setForeground(Color.WHITE);

JEditorPane area = new JEditorPane();

Color bgColor = Color.BLACK;

UIDefaults defaults = new UIDefaults();

defaults.put("EditorPane[Enabled].backgroundPainter", bgColor);

area.putClientProperty("Nimbus.Overrides", defaults);

area.putClientProperty("Nimbus.Overrides.InheritDefaults", true);

area.setBackground(bgColor);

return area;

}

public Everything(){

super("Game");

try {

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

} catch (Exception exc) {

// ignore error

}

setSize(600,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

BorderLayout layout = new BorderLayout();

setLayout(layout);

setVisible(true);

text = new JLabel("");

text.setText("Text:");

texts = new JTextField(20);

texts.setBackground(Color.white);

texts.setText("");

JPanel panel = new JPanel();

panel.add(text );

panel.add(texts);

texts.addActionListener(this);

add(panel, BorderLayout.SOUTH);

UIDefaults defs = UIManager.getDefaults();

defs.put("TextPane.background", new ColorUIResource(Color.BLACK));

defs.put("TextPane.inactiveBackground", new ColorUIResource(Color.BLACK));

area = blackJTextPane();

area.setEditable(false);

style = area.addStyle("style", null);

//StyleConstants.setBackground(style, Color.black);

JScrollPane pane = new JScrollPane(area);

add(pane, BorderLayout.CENTER);

doc = area.getStyledDocument();

button.addActionListener(this);

setVisible(true);

}

The imports are not pictured here but there are no errors in the game when I run it with any of those commented out parts.

解决方案

You may have an issue with Nimbus not respecting the background color settings. Try this to override the color:

JEditorPane area = new JEditorPane();

Color bgColor = Color.BLACK;

UIDefaults defaults = new UIDefaults();

defaults.put("EditorPane[Enabled].backgroundPainter", bgColor);

area.putClientProperty("Nimbus.Overrides", defaults);

area.putClientProperty("Nimbus.Overrides.InheritDefaults", true);

area.setBackground(bgColor);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值