Java колебание BasicTextFieldUI рисование ВЫПУСК - PullRequest
0 голосов
/ 05 февраля 2019

Я работаю над проектом, в котором мне нужно изменить стиль из JTextFieldsрасширил BasicTextFieldUI и переопределил метод paintSafely, но когда он рисует компонент, он рисует border (даже если для границы установлено значение null).Я попытался заглянуть внутрь класса BasicTextUI, чтобы увидеть, что может нарисовать эту границу, и ничего не нашел.

Вопрос,

Почему этот код создает границувокруг компонентов?

Это мой код:

public class CustomTextField extends BasicTextFieldUI{

    int borderThickness, edgeRoundness;

    @Override
    protected void paintSafely(Graphics g) {

        JComponent c = (JComponent)this.getComponent();
        Graphics2D g2 = (Graphics2D)g;
        g2.setColor(c.getBackground());

        borderThickness = 2;
        edgeRoundness = 20;

        g2.setColor(c.getForeground());
        g2.fillRoundRect(0, 0, c.getWidth(), c.getHeight(), edgeRoundness+5, edgeRoundness+5);
        g2.drawRoundRect(0, 0, c.getWidth(), c.getHeight(), edgeRoundness+5, edgeRoundness+5);

        g2.setColor(c.getBackground());
        g2.fillRoundRect(borderThickness, borderThickness, c.getWidth()-(int)(borderThickness*2.5), c.getHeight()-(int)(borderThickness*2.5), edgeRoundness, edgeRoundness);
        g2.drawRoundRect(borderThickness, borderThickness, c.getWidth()-(int)(borderThickness*2.5), c.getHeight()-(int)(borderThickness*2.5), edgeRoundness, edgeRoundness);


        super.paintSafely(g);
    }

}

В чем может быть ошибка?Есть ли другой метод, используемый для покраски компонента?

enter image description here

1 Ответ

0 голосов
/ 06 февраля 2019

Я нашел ответ в этом сообщении!Кажется, что, установив границу на null, я сказал PLAF использовать ее собственную границу. Качаем JTextField как убрать границу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...