我试着把这个transcluentJTextArea
的前景色改成黑色,但仍然是蓝灰色。我做错了什么?
// [8]*HELP TEXTAREA
JTextArea help_text = new JTextArea () {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Insets insets = getInsets();
int x = insets.left;
int y = insets.top;
int width = getWidth() - (insets.left + insets.right);
int height = getHeight() - (insets.top + insets.bottom);
g2d.setColor(new Color(255, 0, 0, 70));
g2d.fillRect(x, y, width, height);
super.paintComponent(g);
}
};
help_text.setFont(new Font(Font.MONOSPACED,Font.BOLD, 70));
help_text.setForeground(Color.black);
help_text.setOpaque(false);
help_text.setLineWrap(true);
help_text.setWrapStyleWord(true);
help_text.setEditable(false);
help_text.setEnabled(false);
help_text.setHighlighter(null);
help_text.setText("Some help text . ..");
// [8]*HELP PANE
JScrollPane help_pane = new JScrollPane(help_text);
help_pane.setOpaque(false);
help_pane.getViewport().setOpaque(false);
改变:
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Insets insets = getInsets();
int x = insets.left;
int y = insets.top;
int width = getWidth() - (insets.left + insets.right);
int height = getHeight() - (insets.top + insets.bottom);
g2d.setColor(new Color(255, 0, 0, 70));
g2d.fillRect(x, y, width, height);
super.paintComponent(g);
}
进入:
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
Insets insets = getInsets();
int x = insets.left;
int y = insets.top;
int width = getWidth() - (insets.left + insets.right);
int height = getHeight() - (insets.top + insets.bottom);
g2d.setColor(new Color(255, 0, 0, 70));
g2d.fillRect(x, y, width, height);
g2d.dispose();
}
我相信这会解决你的问题,因为从你的代码来看,它有两个潜在的问题:
super.paintComponent(g)
作为代码的最后一行,您取消了所有正在进行的绘制Graphics
对象的状态,该对象由整个组件层次结构使用,并且应该保留哪个状态下图显示了一个问题。 正常状态 当背景颜色改为白色时,我的图标不会只改为黑色
问题内容: 我有这个课: 问题是当我在JList中选择一个单元格时,我的背景不会变成红色。setText部分有效,但是我无法弄清楚为什么它不会更改单元格的背景颜色。任何人都有任何想法,谢谢! 问题答案: 主要问题是标签默认情况下是不透明的,因此您需要使标签不透明才能绘制背景。 但是您不需要为此创建自定义渲染器。默认渲染器是不透明的。您所需要做的就是设置列表的选择背景属性: 如果您尝试创建一个渲染器
我有两个页面,第一个有白色状态栏,第二个页面有灰色状态栏,但当我从一个页面移动到另一个页面时,第二个页面需要第一个状态栏颜色?? 注意:当我从main函数运行第二页时,它的颜色是正确的 我用这个作为状态栏: 原因是什么?
我在设计JScrollPane的样式时遇到问题。我只想能够更改拇指和背景的颜色(同时删除增加/减少按钮)。到目前为止,我尝试了以下方法: 而且 有了上面所有的代码,我得到了一个白色背景的暗拇指。有趣的是,如果我删除setUI函数,我会得到一个默认的拇指,背景变暗... 有什么想法吗? 谢啦 解决****** 上面的configureScrollBarColors函数可以通过以下方式使用: 把拇指的
通常情况下,当您使用或时,JTextField的背景/前景色会变成“灰色”。但是,如果之前使用设置了背景色(例如),那么调用或将不再影响背景色。相反,它会被先前设置的颜色覆盖。 在WinForms(.NET)中,这可以通过将背景颜色“重置”为非覆盖默认值来解决,即。这将导致文本框恢复标准行为。然而,我还没有为JTextField找到类似的“默认值”。当JTextField被禁用或设置为只读时,如何
问题内容: 有什么方法可以更改RibbonApplicationMenuEntryPrimary(Flamingo)的背景颜色吗? 我看了看它的javadoc,但找不到方法。 问题答案: 1)请注意,我已检查API;从开始,有很多导入和扩展,它们来自许多不同的方法(这里是我尝试覆盖MetalButtonUI的尝试)。 2)也许更改内置颜色主题会很容易,但是我不建议这样做。 3)我不是Flaming