Не знаю, как вызвать метод рисования - PullRequest
1 голос
/ 29 марта 2011

Привет, я хочу знать, как вызвать метод рисования ...

Я начинающий программист и на самом деле просто экспериментирую с такими вещами, как рисование.

Программа, которую я пытаюсьmake - игра, в которой есть 3 ступени, и цель игры состоит в том, чтобы переместить диски разных размеров с левой / правой ступени на правую / левую ступеньку.

вот мой кодмне перерыв):

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int amount = 0;

    // get the amount of rectangles to draw to represent disks
    while (amount <= 1 && amount >= 5) {
        System.out.print("Please enter amount of discs to use(less than 7 more than one).");
        amount = scan.nextInt();            
    }
}

public void paint(Graphics g) {
    // draw a certain amount of rectangles in ascending order
    if (amount <= 1 && amount >= 5) {
        for (int i = 0; i < amount; i++) {
            g.fillRect(220 - (20 * i), 200 + (10 * i), 100 - (20 * i), 20);
        }
    }
}

Ответы [ 3 ]

4 голосов
/ 03 сентября 2012

Метод рисования будет вызван впервые при создании объекта.

Для повторного вызова метода paint() вы можете либо вызвать update(Graphics g), если хотите передать новый объект Graphics, но обычно я бы предложил использовать метод repaint(), так как таким образом он будет быть запланированным, чтобы называться как можно скорее.

2 голосов
/ 29 марта 2011

Вам не нужно звонить.Вместо этого вы должны использовать основной цикл, который Java создает для вас.

Обычный подход заключается в расширении JPanel (см. Этот вопрос: Как создать холст с помощью Swing? ) и переопределенииметод paint().

Теперь создайте JFrame, добавьте в него новый компонент пользовательского интерфейса и откройте фрейм.Затем Java убедится, что он отрендерен.

0 голосов
/ 06 июля 2015

Я не эксперт или что-то еще, чтобы учить других, но вам нужно поместить свой код для рисования в метод paintComponent(Graphics g) вместо рисования, а затем вызвать метод перекраски.

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