Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2012, 15:52   #1
LBlonde
Пользователь
 
Регистрация: 24.06.2011
Сообщений: 15
По умолчанию метод contains для полигона

Добрый день,

помогите, пожалуйста, разобраться с методом contains.
Решила вернуться к "работе над ошибками" по уже сданному проекту, и не дает покоя мне вопрос, как работает метод contains. Гугл по этому поводу очень мало информации дает.

Задание было дано в рамках введения в ООП, смысл был в том, чтобы сделать аплет, рисующий массив елок, при нажатии мышью на елку должны убираться игрушки, а когда елка пуста, нужно ее "завалить".

Я пошла по сложному пути и создала не только класс "елка", но и классы "ствол", "трапеция" и "треугольник". При инициализации елки все параметры передавались этим фигурам, соотвественно рассчитывались координаты и размеры каждой из фигур, и у каждой фигуры был свой метод рисования.

Проверку, было ли нажатие мышью внутри фигуры я сделала с помощью уравнения прямых. Теперь узнала, что есть такой метод contains, который проверяет, находится ли точка в полигоне, но не могу его реализовать. Вот какой у меня код для каждого класса "деталей" елки:

Код:
import java.awt.*;
           .......
           public boolean contains(int x, int y) {
		
		return this.contains(x, y);
	   }
а вот в самом классе "елка":

Код:
public boolean contains(int x, int y) {
		
                boolean insideScape = this.scape.contains(x, y);
		boolean insideTrap1 = this.trapez1.contains(x, y);
		boolean insideTrap2 = this.trapez2.contains(x, y);
		boolean insideTriangle = this.triangle.contains(x, y);
		
		if  (insideScape ||  insideTrap1 ||  insideTrap2 ||  insideTriangle)
			return true;
		
		else
			return false;
	}
Компилятор не выдает никакой ошибки, но при запуске программы проверка площади не работает, т.е. при нажатии на елку ничего не происходит. А также выдает сообщение об ошибке, при этом программа ругает метод contains.

Помогите, пож-та, разобраться, что я делаю не так.
Заранее спасибо за ответы и ваши варианты.
LBlonde вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исследовать метод квадратных корней и метод Холецкого для решения СЛАУ Vит@x@ Помощь студентам 0 22.11.2011 10:47
Копирование полигона Николая Ленин Общие вопросы Delphi 5 04.06.2011 22:07
Поворот полигона Николая Ленин Общие вопросы Delphi 9 02.06.2011 23:05
площадь полигона boomeer Помощь студентам 5 17.10.2010 14:17
Рисование затекстурированного полигона в OpenGL. Вадим Буренков Мультимедиа в Delphi 2 17.08.2009 16:22