当前位置: 首页 > 知识库问答 >
问题:

如何在JTextPane中更改文本颜色

沙宣
2023-03-14

我想根据用户需要将我写的文本(和字体颜色)更改为另一种颜色。

我制作了一个JFrame,并添加了JTextPane。在文本窗格的右侧,我有一个不同颜色的列表(“白色”、“黑色”、“绿色”等)。Jframe还有一个JMenuBar,如果用户突出显示列表中的一个元素(比如黑色),我想更改textpane的背景色(我知道这很愚蠢,但这是老师的作业)

问题是,文本是黑色的,所以当我改变背景颜色时,文本“消失”。当背景色设置为黑色时,我想将文本更改为白色。

有点奇怪,我会写

textPane.setForeground(Color.White)

在构造函数中,它可以正常工作。文本为白色(或绿色,或我选择的任何颜色),但当我将其添加到ActionListener中时,它不起作用?我怎样才能修好它?

这是我的密码:

if (e.getSource().equals(changeColor)) {
    if (list.getSelectedValue().equals("White")) {
        textPane.setForeground(Color.BLACK);
        textPane.setBackground(Color.WHITE);

    }
    if(list.getSelectedValue().equals("Black")){
        textPane.setForeGround(Color.WHITE);
        textPane.setBackground(Color.BLACK);
    }
}

共有1个答案

汪成仁
2023-03-14

尝试“重新绘制”文本窗格

textPane.repaint();
textPane.invalidate();
 类似资料:
  • 我正在使用JTextPane创建一个文本编辑器,它允许用户更改所选文本的颜色。但是当用户选择文本时,然后选择更改颜色的选项(比如,改为红色),直到取消选择文本时,文本才会显示为红色。我尝试使用setSelectedTextColor来更改所选文本的颜色,但这不起作用,因为当之后选择文本时,它会将文本更改为红色。有没有一种方法可以使选定的文本显示为它的实际颜色?或者像它在Word中的工作方式那样,它

  • 问题内容: 是的,语言规范定义结果为“ 2”。如果VM采取不同的方式,则不符合规范。 大多数编译器都会对此抱怨。以Eclipse为例,它将声称永远不会执行return块,但这是错误的。 编写这样的代码我需要知道如何执行此操作: 假设:我有这样的代码: 我想改变的颜色并以颜色为蓝色颜色绿色 M到红色的数字橙色 如何更改此文字的颜色?这些文本来自记事本,也可以直接在文本区域中键入。是非常糟糕的做法,永

  • 我想在TextField中更改字体颜色。我找到了、来更改背景和边框的颜色,但没有找到文本的颜色。

  • 问题内容: 我正在编写一个简单的扫雷游戏,现在可以运行,但是我正在处理一些漂亮的细节,例如使每个数字使用不同的颜色。 尝试在上设置文本颜色时,我总是遇到错误。我可以很容易地更改文本和背景,但是不能专门更改文本颜色。 导致一切混乱的部分是: 由于某种原因,我的错误是: 每当我尝试编译时都会发生这种情况,但是当我将其更改为说而不是正常工作时,就会发生这种情况。 问题答案: 对于JButton未定义。要

  • 问题内容: 我制作了一个使用 ActionBarCompat* 的应用程序 * 我使用 SlidingTabLayout 类创建了选项卡。 该类是这样的: SlidingTabLayout.java 但我无法更改标签的颜色… 我的viewpager片段是这样的: 该应用程序运行良好,但我无法更改标签的 颜色文本 … 看到以下示例后,我制作了该应用程序: rudsonlive /导航抽屉-ViewP

  • 问题内容: 我的应用程序具有深色背景,但是在iOS 7中状态栏变为透明的。所以我看不到任何东西,只有角落的绿色电池指示灯。如何将状态栏文本颜色更改为白色,就像在主屏幕上一样? 问题答案: 将要在文件的.plist。 在做一个 添加以下方法: { return UIStatusBarStyleLightContent; } 注意 :这不适用于内部控制器,请参阅下面的Tyson评论:) Swift 3