|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Собственно имеется 5 пар ComboBox, в которые подгружается из файла Items в зависимости от значения в другом ComboBox. Прописал все для каждого варианта и для каждой пары. Но хотелось бы постигнуть ООП. Собственно как можно прописать интерфейс (public intarface) для кода и после просто использовать его через Impliments?? Интернет дает простенькие примеры, а вот как именно здесь поступить не могу разобраться сам. Код Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.
Код приведен только для первой пары, для остальных все так же, только меняются названия самих ComboBox1, 2, 3, 4, 5 и manufCombobox1, 2, 3, 4, 5. Возможно гуру будет резать глаз сие творение, но нужны советы как исправить и привести в божеский вид. vers0 на форуме Обратить внимание администрации на это сообщение 0 Мультицитирование этого сообщения ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 12:40 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0 для остальных все так же, только меняются названия самих ComboBox1, 2, 3, 4, 5 и manufCombobox1, 2, 3, 4, 5 Откройте для себя такое слово, как ПРОЦЕДУРА ! Жить станет легче ! p.s. Если в Вашей книжке по Java нет такого слова, можете заменить его на "метод" ))) p.p.s. Пока Вы не умеете повторяющийся код оформлять в виде отдельных процедур, задумываться о "постигнуть ООП" не стоит IMHO не насытится око зрением, не наполнится ухо слушанием. Что было, то и будет; и что делалось, то и будет делаться, и нет ничего нового под солнцем. Бывает нечто, о чем говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 12:47 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Откройте для себя такое слово, как ПРОЦЕДУРА ! Если в Вашей книжке по Java нет такого слова, можете заменить его на "метод" ))) В книгах и прочих гуглах предоставляют простенькие примеры, но не работа с JavaFX компонентами. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 13:08 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Что такого уникального в Java FX компонентах, что работу с ними нельзя оформить в виде отдельных понятных процедур (функций/методов) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 13:24 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
по самому JavaFX сказать ничего не могу, с ним не работаю Но: 1) Нормально пишите вопрос. В Вашем первом сообщении слов JavaFX нет вообще. 2) Это не отменяет тот факт, что Copy-Past код, который Вы выложили - полнейшая жуть. Т.к. сокрашается в разы банально за счет создание одной процедуры. А если вынести в статический массив-константу название файлов, то и case не нужен. Т.е. если я правильно понял описание Вашей "проблемы" - вся оработка события банальный вызов процедуры с параметрами, одна строчка 3) Посмотрел примеры про JavaFX, обработка событий обычным setAction javafx.event.Event. Что Вы подразумеваете под "ООП", public intarface, Impliments и нафига они нужны для Вашей задачи - мне вообще не ясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 13:34 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0, Вам верно сказали про методы. Пробуйте начать так Код: java 1. 2. 3. 4. 5. 6.
Все придет через практику и руки ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 14:16 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev нафига они нужны для Вашей задачи - мне вообще не ясно. У меня нет задачи, у меня цель разобраться и освоить ООП на конкретных примерах, а не статьях из учебников. PetroNotC Sharp Пробуйте начать так Все придет через практику и руки В принципе это мне понятно, но как оформить загрузку разных файлов txt? Ведь для разных Items будут разные файлы. И у меня была мысль весь comboChange1 прописать как метод, но опять же будут меняться названия Combobox - вот это мне не понятно, как использовать в таких случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 15:35 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Как минимум, выделить процедуру, которая что-то делает. 1) Как я понимаю, задача - считать данные в комбобох из файла т.е. приходим минимум к процедуре/методу: loadData( combobox ..., fname String ) рефакторинг элементарный 2) Имя файла можно сделать или через case case 0: fname = "..."; break; case 1: fname = "..."; break; ... } или через глобальную переменную-константу fname = sourceFiles[ selectedItemNumber ]; или (если формат имени жестко задан) вообще с помощью арифметики / printf fname = "000" + Integer.toString(selectedItemNumber) + ".txt"; я бы опять таки обернул в процедуру/функцию String getFnameByIndex( index integer ); ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 15:40 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0 В принципе это мне понятно, но как оформить загрузку разных файлов txt? Ведь для разных Items будут разные файлы. Гуглить по слову ПАРАМЕТРЫ процедуры ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2020, 15:40 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev т.е. приходим минимум к процедуре/методу: loadData( combobox ..., fname String ) имя файла передавать через переменную String'овую я уже своим умом кое-как дошел, но вот как передавать нумерацию Combobox в параметры хоть убейте не могу понять. Если я пропишу в процедуре просто manufCombobox.getSelectionModel().getSelectedIndex() без нумерации, как мне потом использовать это или можно прописать manufCombobox (i) .getSelectionModel().getSelectedIndex() и потом передавать int i в параметры? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 12:53 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0, 1. Убери все лишнее кроме двух выпадающих списков. 2. Сделай case на них. 3. Код с вопросом сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 13:29 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0, Передавать в параметрах можно и визуальные контролы run(Combobox c) ; ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2020, 13:32 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
PetroNotC Sharp vers0, 1. Убери все лишнее кроме двух выпадающих списков. 2. Сделай case на них. 3. Код с вопросом сюда. Выдает ошибку, явно через одно место сделал: LoadFile.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Controller.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2020, 12:13 |
|
Interface для множества ComboBox
|
|||
---|---|---|---|
#18+
vers0, Пошаговая отладка. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2020, 05:07 |
|
|
start [/forum/topic.php?fid=59&tid=2120674]: |
0ms |
get settings: |
26ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
350ms |
get tp. blocked users: |
2ms |
others: | 300ms |
total: | 767ms |
0 / 0 |