首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本窗格颜色错误

文本窗格颜色错误
EN

Stack Overflow用户
提问于 2014-04-23 04:25:15
回答 2查看 85关注 0票数 0

由于某种原因,我的文本窗格是白色的。它是嵌套在j滚动窗格中的文本窗格(输出)。

代码语言:javascript
复制
        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);

这是唯一影响它的代码。我不知道为什么会这样,但我希望文本窗格是黑色的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-23 04:32:29

首先,设置JTextPane的背景色应该足够了。

代码语言:javascript
复制
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

更详细的信息请查看如何使用滚动窗格

票数 2
EN

Stack Overflow用户

发布于 2014-04-23 04:35:38

将外观和感觉从"Nimbus“设置为"Windows”,并确保文本窗格的“不透明”为真。

别担心,这些错误发生在你早上1点编码的时候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23234709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档