Используйте графику 2d в другой области для JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Используйте графику 2d в другой области для Java

Сообщение Anonymous »

Итак, drawRacketA и drawRacketB используют g2, но я могу использовать его только в компоненте рисования, но мне нужно, чтобы он использовался в RacketA и RacketB, чтобы я мог рисовать там. В любом случае я могу использовать g2 в этом, как я показываю, поскольку он не рисует его на экране, но функция вызывается, когда я тестировал ее с помощью операторов sysout.
Если бы мне пришлось догадываться, я бы хотя это было бы из-за того, что оно было объявлено в компоненте рисования.
Если я не могу сделать это там, как мне сделать это в компоненте рисования, поскольку RacketA и RacketB вызываются родительский класс и используется для вызова дочернего класса. Я делаю это так, потому что для рисования мне нужно использовать g2.
public void racketsSetUp(Graphics g) {
racketA = new Rackets(this.getWidth(), this.getHeight(), g, 25);
racketB = new Rackets(this.getWidth(), this.getHeight(), g, this.getWidth() - 25);
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
g2 = (Graphics2D)g;

g2.setColor(Color.BLACK);
g2.fillRect(0, 0, this.getWidth(), this.getHeight());

racketsSetUp(g2);
racketA.racketNets(g2);

g2.fillRect( 25, this.getHeight() / 2, 10, (int) (this.getHeight() * 0.15));
g2.fillRect(this.getWidth() - 25, this.getHeight() / 2, 10, (int) (this.getHeight() * 0.15));

for (int i = 0; i < ballsAmount; i++) {
g2.setColor(myBall.get(i).getColor());
g2.fillOval(myBall.get(i).getXpos(), myBall.get(i).getYpos(), myBall.get(i).getBallSize(), myBall.get(i).getBallSize());
}
}

public void update() {
for (int i = 0; i < ballsAmount; i++) {
myBall.get(i).updatePosition(this.getWidth(), this.getHeight());
}

repaint();
}

public void racketAMove(int moveAmount){
racketA.racketMove(g2, moveAmount);
}

public void racketBMove(int moveAmount){
racketB.racketMove(g2, moveAmount);
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... a-for-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»