Я не очень много использовал Swing / G2D, поэтому, пожалуйста, будьте терпеливы.
У меня есть следующий класс, который является компонентом моего GUI (предназначенного для рисования на холсте):
import javax.swing.*;
import java.awt.*;
public class DrawPanel extends JComponent{
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(Color.black);
g2.fillRect(0, 0, getWidth(), getHeight());
BrushStroke bs = new BrushStroke();
add(bs);
}
}
Я пытался добавить следующее к вышеуказанному JComponent:
import javax.swing.*;
import java.awt.*;
public class BrushStroke extends JComponent{
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setPaint(Color.red);
g2.fillOval(0, 0, 10, 10);
}
}
BrushStroke не отображается на DrawPanel.
Я всегда искал ответ, и каждый пример, на который я смотрю, кажется противоречивым.
Если бы кто-нибудь попытался сделать то, что я есть, то помощь будет принята с благодарностью. Кроме того, если я принимаю совершенно неправильный подход, пожалуйста, скажите.