I tried to change the foreground font color of this transcluent JTextArea
to black, but it remains blue-gray. What am I doing wrong?
// [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);
Change:
@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);
}
into:
@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();
}
I believe this should solve your problem, since from what it seems by your code, there are two potential problems with it:
super.paintComponent(g)
as the last line of code Graphics
object you receive, which is used by the entire component hierarchy, and which state should be preserved
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.