По сути, это задача управления свойствами, и я делаю гораздо более сложное решение, чем требуется. Это только последний бит, где я борюсь.
Чтобы дать вам представление о том, что мы имеем:
- Свойства (суперкласс)
- PropertiesToLet (расширяет свойства)
- PropertiesToSell (расширяет свойства)
- EstateAgent (графический интерфейс для управления свойствами)
Так что часть, с которой я борюсь, это в основном класс EstateAgent.
То, что я написал до сих пор: http://pastebin.com/0qieM67j
Это примерно 500 строк - но мне нужна помощь с теоретической частью, а не с программированием, - потому что я не хочу, чтобы вы делали мою курсовую работу - мне просто нужно решение, как к этому подойти.
Линии, с которыми я борюсь, взяты из:
От 55 до 113
Речь идет о таблице, которую я создаю и вставляю в нее строки. Каждая строка представляет свойство. Это может быть propertyToLet или объект propertyToSell. Эти свойства взяты из моих ArrayList<Property>
свойств.
Вставка строки и отображение таблицы в порядке, и она работает так, как должна. Так что есть проблема с кодом. Я извиняюсь за структуру кода - но мы ограничены в представлении - поэтому мы не можем отправить более 4 файлов, эти файлы, очевидно, являются именованными классами - поэтому я не могу расширять больше классов или файлов для проекта.
Итак, что я хочу сделать сейчас: редактирование свойства.
У меня есть строка, представляющая свойство. Он показывает мне позицию в arrayList и все значения, которые я могу получить.
Так что теперь есть еще несколько возможностей.
- Добавление и удаление арендатора из PropertyToLet
- на основе арендатора вы можете получить арендную плату и заплатить арендную плату и посмотреть, сколько арендной платы осталось заплатить.
- Добавить и удалить покупателя из PropertyToSell (проданная цена будет меняться в зависимости от того, есть покупатель или нет)
Так что в основном есть несколько способов, как продолжить отсюда. Например, это может быть поведение, подобное этому:
Щелкните правой кнопкой мыши на свойстве, чтобы открыть контекстное меню, в котором находится мышь, и я могу выбрать другие параметры, такие как: «Удалить арендатора», «Добавить арендатора», «Собрать аренду», «Показать аренду», «Добавить владельца», «Удалить покупателя» --- - конечно, в зависимости от того, что это за имущество.
Двойной щелчок по строке => изменить свойство (посмотрите на этот скриншот)
- показывает окно, которое я использую для добавления свойства - я могу добавить все значения в поле, и эта кнопка изменится на «Обновить свойство»
Это было бы одно решение, другим было бы:
- Изменить ячейку строки => изменить значение свойства (они будут проверять объект и смотреть, действительно ли это изменилось, а не только значение строки)
Это мои идеи о том, как внедрить последние шаги по внедрению функциональности в приложение.
Итак, вот мои вопросы:
И чем мне нужно внешнее мнение, что легче и быстрее реализовать в этой очень ограниченной задаче. Способ открыть существующее окно добавления и изменить его на окно редактирования - я не хочу иметь избыточный код!
Или измените значение, отредактировав ячейку так, чтобы значения в массиве изменились.
Мне нужна помощь с подходом, что легче, а что лучше.
Я действительно ценю любую помощь здесь!
Я с нетерпением жду ответов.
EDIT
Я закончил всплывающее меню спасибо за вашу помощь. Я также отредактировал вопрос.