|
|
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Застопорился на таком вопросе, небольшая программа рисования, хочу реализовать "концепцию" когда на экране отображается как бы документ. Т.е некоторый белый прямоугольник с тенью, как например в офисных пакетах(помните раньше в программах некоторых было, или скажем когда режим предпросмотра печати включаешь). Я себе представляю это как, "белый прямоугольник" это у нас JPanel, от неё можно унаследовать свой класс, залить её белым цветом и рисовать на ней(отслеживать координаты мыши и т.д) а как сделать например тень под ней, или серую область вокруг? Далее, если мы делаем зум, то надо оставить некоторый зазор между краем белой области и краем экрана, и скролы включать только если границы окна "наезжают" на белую область, как этого добиться? Может есть примеры? Поделитесь пожалуйста :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:12 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Почему бы не взять JavaFX где уже куча свистелок в виде CSS имеется? http://docs.oracle.com/javafx/2/get_started/css.htm I dont knowЯ себе представляю это как, "белый прямоугольник" это у нас JPanel JPanel это контейнер для других контролов. С тем же успехом можно взять JComponent, например. I dont know, от неё можно унаследовать свой класс, залить её белым цветом и рисовать на ней(отслеживать координаты мыши и т.д) а как сделать например тень под ней, или серую область вокруг? Border с кастомной отрисовкой. https://docs.oracle.com/javase/tutorial/uiswing/components/border.html#custom I dont knowДалее, если мы делаем зум, то надо оставить некоторый зазор между краем белой области и краем экрана, и скролы включать только если границы окна "наезжают" на белую область, как этого добиться? Может есть примеры? Поделитесь пожалуйста :) http://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html I dont knowМожет есть примеры? Поделитесь пожалуйста :) Java SE Development Kit 8u111 Demos and Samples Downloads ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:21 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо, а есть разница в скорости отрисовки графики, если использовать JPanel или JComponent? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:30 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
P.S. C JavaFX дел никогда не имел, думается мне, что там это сделать сложнее будет + много сначала нужно изучить, прежде чем на ней кодить. Swing проще, имхо ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:32 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowP.S. C JavaFX дел никогда не имел, думается мне, что там это сделать сложнее будет + много сначала нужно изучить, прежде чем на ней кодить. Swing проще, имхо ) ошибаетесь. Потом пожалеете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:38 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowСпасибо, а есть разница в скорости отрисовки графики, если использовать JPanel или JComponent? Нет. Если хотите с какой-то непонятной целью освоить Swing, то очень рекомендую научиться смотреть в исходники. Там много такого что из документации выудить не так просто. В часности можно посмотреть на JPanel и понять что толку от этого класса для вашей задачи нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:44 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Почему? в данном случае же это просто холст. Я тогда возьму вместо него JComponent. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 11:54 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, сейчас вы как рисуете? Лупа есть? Если есть, то вам проще всё с нуля. Т.е. считаете что страничка это тоже A4. Сначала заливка серым, потом отрисовка рамки и потом белым+рисунки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 12:09 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, если у вас векторные рисунки на основе объектов платформы, тогда и панель-подложка повыше в иерархии классов. imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 12:10 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowP.S. C JavaFX дел никогда не имел, думается мне, что там это сделать сложнее будет + много сначала нужно изучить, прежде чем на ней кодить. Swing проще, имхо ) На Swing всё намного сложнее. Любые украшения - рисовать самому в 2D. Анимация - самому. Анонимые классы вместо биндинга - куча синтаксического шума. Ну, и рисовать в 2D, правильно учитывая размеры шрифтов и DPI вы не сможете. В векторе с этим проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 12:14 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Сейчас просто панель растягиваю на всё окно и в ней рисую. Колёсиком мыши зуммирую, путём изменения размера панели(размер панели на коэффициент зума). В зуме еще одна загвоздка, например если мы рисуем сетку, то размер её линий не должен зависеть от зума, а в остальном, просто вызываю метод scale у Grapchics2D. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 13:10 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowесли мы рисуем сетку, то размер её линий не должен зависеть от зума рисовать отдельно с шагом по настройкам от юзверя. I dont knowа в остальном, просто вызываю метод scale у Grapchics2D. тогда линии (толщина) становятся масштабируемыми и некрасивыми. Так? Вообще, скриншот бы пригодился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 13:20 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know...залить её белым цветом и рисовать на ней(отслеживать координаты мыши и т.д)... А, допустим, сохранять данные вы как планируете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 13:29 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Пока у меня так(скриншот). Код пока прост: Код: java 1. 2. 3. 4. 5. 6. 7. 8. Далее класс самой панели рисования(в дальнейшем унаследую её от JComponent а не от JPanel) Код: 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. Вот так я меняю scaleFactor и размеры панели Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 13:43 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Нахлобуч, Сохранить данные можно просто записав нужные значения в файл, в данном случае для примера не принципиально. А так скорее всего xml в который буду писать то что мне нужно. Предполагаю создать класс, скажем Document, у него определить список примитивов(линий, кружков и т.д, всего что нарисовали и натыкали мышкой на экране) и функцию, скажем saveData(fileName) которая будет пробегать по этому списку и записывать его содержимое в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 13:49 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Делал ещё концептуальные изыски, типа абстрактный класс "Документ", который сам знает что рисовать и отрисовывает своё содержимое, достаточно подсунуть его в панель для рисования, в методе paintComponent() которой вызвать метод рисования документа, но получилось какая-то лабуда :( Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 14:00 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowДелал ещё концептуальные изыски, типа абстрактный класс "Документ", который сам знает что рисовать и отрисовывает своё содержимое, достаточно подсунуть его в панель для рисования, в методе paintComponent() которой вызвать метод рисования документа, но получилось какая-то лабуда :( Для подобных изысков, хорошо бы разобраться в истории вопроса: MVC, MVP, MVVM. Тогда, возможно, вместо лабуды получилось бы что-то путное. Можно было бы хотя бы следовать подходу Swing - Model, Component, UI. UI, правда в Swing не шибко предназначен для расширения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 14:07 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowПока у меня так(скриншот). дак у вас ничего нет. Вы же писали что рисунок масштабируете. Где он? Стратап? Только начали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 14:20 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123Стратап? Стартап? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 14:21 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowкоторой вызвать метод рисования документа, для графического редактора делают векторный движок. Для текстового редактра делают текстовый редактор с подсветкой и т.д. А потом уже обрамление в виде документа. IMHO Начните не с рамки документа, а с движка сердцевины-ядра. Если у вас стартап. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 14:29 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowПредполагаю создать класс, скажем Document... Вот это правильное направление. Тут уже упомянули MVC, MVVM и прочее -- послушайте совет, почитайте, что это за звери. И сразу: документ не должен знать, как себя рисовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 15:14 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну дык в paintComponent() и рисую, то что я в этом методе навставляю вызовов g2d.draw* сути не изменит, потому что не понимаю саму суть, как правильно представить этот вид, как он должен быть устроен, на чём основан, как правильно его смасштабировать. Если я вначале этого метода поставлю например g2d.scale(), все что я нарисовал смасштабируется, но я не знаю, правильно ли это, и как при таком подходе добиться, чтобы масштабировалось только то что мне надо, оставив несмасштабированным например линии сетки. По поводу документа, лабуда получается именно в части отображения, ввиду того что указал выше. Хранение данных сложностей не вызывает, их загрузка/сохранение в принципе тоже. Вот так вот у меня ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 18:01 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowчтобы масштабировалось только то что мне надо, оставив несмасштабированным например линии сетки. чтобы тОлщины линий не масштабировались (нулевая толщина) - рисовать надо уже в масштабе LineTo, LineTo() Т.е. класс Объект Сетка и рисуй на канве. В чём проблема? Проблема в масштабировании остального. Но ты не показал ничего. Покажи хотя бы 1 элемент отрисовки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 18:25 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowкак правильно его смасштабировать. у меня в проекте бы объект-класс Координаты. Который преобразовывал глобальные в локальные канвы и отрисовка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 18:26 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123чтобы тОлщины линий не масштабировались (нулевая толщина) - рисовать надо уже в масштабе LineTo, LineTo() Т.е. класс Объект Сетка и рисуй на канве. В чём проблема? Тут не понял, можно подробнее или пример? Завтра доберусь до проекта(на работе), попробую нарисовать что-нибудь... линии какие-нибудь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 18:41 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, завтра. Конец рабочего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 19:08 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowТут не понял, можно подробнее или пример? что именно не понял? ..... - нужны 2 массива-коллекции с объектами 1)Сцена 2) Отрисовка - базовый класс у всех имеет метод .Draw(куда рисовать). Т.е. полиморфизм - сначала вызвать массив сцены, а потом массив Отрисовка - при выводе координаты пересчитывать из глобальных в локальные канвы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 11:22 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. - когда рисуем Код: java 1. 2. 3. 4. В первой коллекции писал выше, рисуется лист A4 заливками сереньким. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 11:33 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Пока пытаюсь сделать сам холст с тенью под ним, никак не удаётся добиться того, чтобы добавляемая JScrollPane панель(мой холст) не растягивалась на всё окно, какие размеры не задам(setSize), всё равно на весь холст, хотя казалось бы всё просто :( Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 13:37 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, это не нужно. Именно на весь холст панель и панель на всё окно. Вы ведь увеличивать будете лупой и сдвиг руками. В результате рисовать будете по краю холста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 14:05 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, А как тогда обеспечить скроллбары при увеличении? Как-то вручную их создавать и устанавливать их параметры? Сейчас я пытаюсь это делать просто путём изменения размеров вложенной в scrollPane панели, т.е когда кручу колёсиком мыши - меняю scale Factor, пересчитываю размер панели и задаю его, скролы сами меняются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:15 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowА как тогда обеспечить скроллбары при увеличении? Как-то вручную их создавать и устанавливать их параметры? да. Мы вручную делали. Это уже дело десятое. Т.к. лупа и рука будет. Не надо украшательством заниматься. Позже скролл сделаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:54 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Понял, попробую накидать, потом по результатам отпишусь ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:57 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, OK лупа и рука - это просто метод в Коорд{} который смещает внутреннее поле на дельту или внутренний коэффициент. Потом сразу перерисовка. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 15:59 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Такой затык, как менять размер холста? Класс фрейма: Код: 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. Сам класс панели(моего холста) При рисовании надо как-то задавать длину и ширину холста. Для этого завёл две переменные W и H, пытаюсь им присвоить размеры в setPrefferedSize, но они пусты. Я так понимаю, что когда мой холст будет располагаться во фрейме(или я буду менять размер фрейма), эти размеры будут пересчитываться? Или надо изначально в функции createGUI() задавать размеры холста? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:25 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know Код: java 1. 2. 3. рисовать должен отдельный класс из коллекции. Или ты это пока для простоты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:33 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Пока для простоты. В дальнейшем будет несколько классов(Line, Rect...), унаследованных от одного(скажем Primitive) и у каждого будет метод draw(Graphics g) и набор точек в относительных координатах(координаты относительно "центра" примитива, сам центр задаётся в момент клика мышки на канве, т.е куда кликнули там и центр и относительно этой точки рисуем). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:45 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowИли надо изначально в функции createGUI() задавать размеры холста? у JComponent есть ширина и высота в пикселях(локальных коорд)? Код: java 1. 2. 3. тогда внутри objDraw.draw у g2d ты их и получишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:46 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, А как тогда холст подготовить? В paintComponent(Graphics g) залить цветом, рамку там нарисовать. Если брать getWidth() getHeight() то это всегда будут размеры текущего окна, как тогда потом использовать зум и сдвиг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:50 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Чёт ваще запутался... кажется, вроде просто всё... а так туплю :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:50 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowнабор точек в относительных координатах(координаты относительно "центра" примитива, сам центр задаётся в момент клика мышки на канве, т.е куда кликнули там и центр и относительно этой точки рисуем). не так. - есть объекты в глобальных координатах. Отрезок (5342.2,233.0)(5355.2,23.1) В прямоугольных координатах Пулковских Московской области. - ты вписал классом выше Коорд габарит всей сцены в ширину фрейма с маркером выраснивания. - дальше автоматом пересчёт уже без тебя и отрисовка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:50 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowPetro123, А как тогда холст подготовить? В paintComponent(Graphics g) залить цветом, рамку там нарисовать. Если брать getWidth() getHeight() то это всегда будут размеры текущего окна, как тогда потом использовать зум и сдвиг? нарисуй отрезок с лупой и рукой. А потом сделаем рамку. Как делает автокад. Там у рамки глобальные координаты как у самого чертежа. Ждём с отрезком и лупой скрины. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:52 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowкак тогда потом использовать сдвиг? выше писал. Код: java 1. 2. в событии onMouseMove ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 13:55 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Набросал зум с рукой Код: 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. Авось меня так за ручку и выведут к правильному решению, хоть пойму, как это делается )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 11:43 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Кстати, я так и не понял, что это за объект "Координаты", за что он отвечает и как должен работать. Что в данном случае есть глобальные и локальные координаты, вернее с глобальными всё понятно, а что есть локальные? Координаты элементов нарисованного объекта, относительно какой-либо его точки? Если так, зачем оно, если у нас всё в глобальных координатах будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 11:46 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowНабросал зум с рукой зум с лупой, это ВИ: - открыл окно и по умолчанию там отрезок напр. от центра на 100 пикселей. - нажал на кнопку Лупа и кликнул по отрезку - он стал уже 200 пикселей. Вот эти скрины и давай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 11:58 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Нужно именно кликнуть по отрезку? У меня зум колёсиком мышки сделан? первая - изначально, вторая - несколько раз крутанул колёсиком - увеличил. Линия от (0,0) до (100,100) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 12:36 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont knowНужно именно кликнуть по отрезку? ну, ты ни разу не видел лупу и руку? Сомневаюсь. Вот когда начнёшь делать и твой код с zoom = 0.1f станет расти в 300 строк в компоненте. Тогда и поймёшт зачем класс координат. Сейчас у тебя НИ ОДНОГО своего класса нет. Если не считать наследника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 12:59 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, просмотрел. Линия должна быть при увеличении одной толщины. Если по ТЗ - вектор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 13:00 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know Код: java 1. 2. скрин и код должны совпадать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 13:03 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Да, скриншоты делал когда уже линию сделал с 0,0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 14:52 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
Petro123, Это тестовый пример, я пытаюсь понять суть, как такое делается, пока я себе не могу это представить. Все ответы/примеры что я видел, всё какими-то кусками, урывками, цельной картины нет. Сейчас у тебя НИ ОДНОГО своего класса нет. Какой "свой" класс должен быть? И для чего? Класс какого-либо "примитива", который должен отображаться на экране? И нужен ли он на данном этапе? Для примера: создам я класс "Line", объявлю у него метод draw, далее создам этот объект, инициализирую, теми же координатами(0,0-100,100) а в paintComponent() вызову Line.draw(g), это что-то изменит? Или речь о каком-то другом "своем" классе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 15:07 |
|
||
|
Простенькая программа рисования, как реализовать такую концепцию ?
|
|||
|---|---|---|---|
|
#18+
I dont know, Тебе тяжело сделать кнопку Лупа? Через пару шагов все поймешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2016, 16:28 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123342]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 306ms |

| 0 / 0 |
