由于某种原因,我的文本窗格是白色的。它是嵌套在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);
这是影响它的唯一代码。我不知道为什么会这样,但我希望文本窗格是黑色的。
答案 0 :(得分:2)
首先,设置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
决定显示的内容和组件(视图)
仔细查看How to Use Scroll Panes了解更多详情
答案 1 :(得分:0)
设置" Nimbus"的外观和感觉。到" Windows"并确保文本窗格"不透明"是的。
不用担心,当您在早上1点编码时会发生这些错误。