由于某种原因,我的文本窗格是白色的。它是嵌套在j滚动窗格中的文本窗格(输出)。
jScrollPane1.setBackground(new java.awt.Color(0, 0, 0));
jScrollPane1.setBorder(null);
jScrollPane1.setOpaque(false);
output.setEditable(false);
output.setBackground(new java.awt.Color(0, 0, 0));
output.setBorder(null);
output.setCaretColor(new java.awt.Color(255, 255, 255));
output.setDisabledTextColor(new java.awt.Color(0, 0, 0));
output.setHighlighter(null);
output.setOpaque(false);
jScrollPane1.setViewportView(output);

这是唯一影响它的代码。我不知道为什么会这样,但我希望文本窗格是黑色的。
发布于 2014-04-23 04:32:29
首先,设置JTextPane的背景色应该足够了。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class BlackTextPane {
public static void main(String[] args) {
new BlackTextPane();
}
public BlackTextPane() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JTextPane tp = new JTextPane();
tp.setForeground(Color.WHITE);
tp.setBackground(Color.BLACK);
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new JScrollPane(tp));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}不管怎么说,你似乎出于某种原因使它变得透明,output.setOpaque(false);。现在您也使JScrollPane透明了,这很好,但是您忘记了使视图端口透明jScrollPane1.getViewport().setOpaque(false);
滚动窗格由三个组件组成:JScrollPane本身、决定显示什么的JViewport和您的组件(视图)。
ScrollPane
更详细的信息请查看如何使用滚动窗格
发布于 2014-04-23 04:35:38
将外观和感觉从"Nimbus“设置为"Windows”,并确保文本窗格的“不透明”为真。
别担心,这些错误发生在你早上1点编码的时候。
https://stackoverflow.com/questions/23234709
复制相似问题