2017-02-12 3 views
-2

Я использую Java Graphics и не могу понять, как использовать «FilledOval» в качестве переменной или инициализировать ее каким-либо образом. Я использовал objectDraw раньше, и именно поэтому я пробовал этот маршрут, но не могу найти его нигде. Причина, по которой я хочу сделать это, - это то, что я хочу иметь доступ к Oval вне метода.Как я могу использовать fillOval в качестве переменной Java Graphics?

public void init() 
{ 
    int height = getSize().height; 
    int width = getSize().width; 
    display = createImage(width,height); 
    drawingArea = display.getGraphics(); 
    createMan(width/3,0,200,drawingArea); 
    paint(drawingArea); 
} 
public void paint(Graphics g) 
{ 
    g.drawImage(display,0,0,null); 
} 
public void createMan(int x, int y, int size, Graphics g) 
{ 
    g.setColor(Color.black); 
    g.fillOval(x,y,size,size); //Head 
} 
+0

Показать код, который вы написали. Код поможет нам лучше понять вашу проблему. – markspace

+0

Просто добавил изображение к вопросу, я хотел бы иметь возможность использовать Овал в другом методе или получить доступ к нему как-то. –

+0

Отправьте свой код как текст, правильно отформатированный как код. Не как ссылка на изображение. Мы не можем копировать и вставлять текст с изображения. –

ответ

0

Я собираюсь принять удар. Я думаю, что вы хотите, это концепция вашего графического объекта, человека, а не самого овала. Овал - это просто деталь реализации, как человек рисуется.

Будьте очень осторожны, качели не являются потокобезопасными. Не выдавайте команды рисования объектам Swing, кроме EDT. https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html

public class Man { 
    private int x, y; 
    private static final WIDTH = 10, HEIGHT = 11; 
    public draw(Graphics g) { 
    g.setColor(Color.black); 
    g.fillOval(x,y,WIDTH,HEIGHT); //Head 
    } 
    // add setters and getters 
} 
+0

Как именно вы собираетесь создавать геттеры и сеттеры для класса? Это проблема, с которой я сталкиваюсь, я не могу понять, как создать метод, в котором я бы вернул голову как FilledOval или изменил ее. –

+0

Ну, я бы не стал, это то, что я говорю. Почему вы хотите овал? что ты собираешься с этим делать? Я думаю, что здесь есть проблема X-Y, где вы говорите, что хотите сделать X (получить овал), но на самом деле проблема в другом. – markspace

Смежные вопросы