Итак, 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
Используйте графику 2d в другой области для Java ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1737464533
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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79374508/use-graphic-2d-in-a-different-area-for-java[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия