Цвет текста JPasswordField закрашен компонентом paint - PullRequest
0 голосов
/ 17 октября 2018

Итак, я сделал свой собственный компонент JPasswordField и в нем я изменяю цвет фона на цвет с альфа

this.setBackground( new Color(29, 29, 29, 150) );
this.setOpaque(false);

И я также делаю кнопку круглой, поэтому мне нужно использовать это:

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(getBackground());
    g.fillRoundRect(0, 0, getWidth(), getHeight(), radius, radius);
}

Проблема в том, что мой текст почти не читается, когда я набираю текст Field Требуется, чтобы я выделил его, чтобы я мог его видеть.

Это мой цвет переднего плана:

this.setForeground(new Color(250,250,250, 250));

Я немного изменил цвет со скриншота, но у меня все та же проблема

1 Ответ

0 голосов
/ 17 октября 2018

Ваша основная логика перевернута.

Сначала вы вызываете super.paintComponent(), который закрашивает текст.

Затем вы вызываете fillRoundRect(...), который закрашивает текст поверх.

Логика должна быть обратной:

  1. рисовать фон
  2. вызывать super.paintComponent (...)
...