Окраска овального компонента, однако заливка перекрывает овальную линию. Как это исправить? - PullRequest
0 голосов
/ 17 января 2019

Мой метод овальной заливки перекрывает линию овала. Как мне заполнить овал, не перекрывая линию?

Я отрегулировал высоту и ширину обоих, но, похоже, не могу найти правильные числа, чтобы они выглядели правильно.

public void paintComponent(java.awt.Graphics g) {
    super.paintComponent(g);
    g.setColor(lc);
    g.drawOval(0,0,getWidth()-1,getHeight()-1);
    g.setColor(fc);
    g.fillOval(0,0,getWidth()-1,getHeight()-1);

Мои результаты - овал, заполненный желтым, с красной линией вокруг него. Тем не менее, красная линия выглядит так, как будто она находится под частями желтого, поэтому она не является четкой красной линией, охватывающей весь овал.

Я хочу, чтобы линия была полностью видна вокруг овала.

1 Ответ

0 голосов
/ 17 января 2019

Может быть, если вы сначала начертите заливку, а затем начертите контур?

public void paintComponent(java.awt.Graphics g) {
    super.paintComponent(g);
    g.setColor(fc);
    g.fillOval(0,0,getWidth()-1,getHeight()-1);
    g.setColor(lc);
    g.drawOval(0,0,getWidth()-1,getHeight()-1);

Тогда контур должен перекрывать заливку

...