Java Swing JPanel.Как мне рисовать фигуры? - PullRequest
0 голосов
/ 21 октября 2011

Я реализовал класс DrawingPane extends JPanel для рисования некоторых фигур.Я создал внутри отдельный метод для каждого типа фигуры, например, круги соответствуют:

public void paintCircles(Graphics g) {
           super.paint(g);

Однако я не могу вызвать это из другого класса через ссылку на класс DrawingPane.Как это может быть сделано?Если это невозможно, как я могу вызвать отдельный метод для рисования каждого типа фигуры, так как требования к коду различаются у разных фигур?применять к объектам RoundRectangle2D.Double.Как сделать эти фигуры видимыми?

Ответы [ 2 ]

3 голосов
/ 21 октября 2011

Вам необходимо реализовать paintComponent(Graphics g) в вашем DrawingPane, и вы можете использовать draw(Shape s) для рисования любой фигуры:

public void paintComponent(Graphics g) {
        super.paintComponent(g); 
        Graphics2D g2 = (Graphics2D)g;    
        g2.draw(yourShape);
}
2 голосов
/ 21 октября 2011

Вы можете привести свой Graphics к Graphics2D и использовать метод public void draw(Shape s), передавая все Shape с, которые у вас есть.Для любого Shape вы можете использовать public Rectangle getBounds() и передать Rectangle в scrollRectToVisible.

...