2015-07-12 3 views
0

Друг попросил меня разработать схему диаграммы для машины, которую он строит. У него есть некоторые очень специфические требования о том, как диаграммы должны отображаться, и ни один из существующих api не удовлетворяет этим требованиям. Итак, мне нужно создать собственный рендеринг диаграммы, одним из вариантов было просто взять любой 2D-холст Java или использовать OpenGL, который будет LWJGL. Я использовал LWJGL 2 в прошлом, и я знаю, что это может быть элемент холста, в то время как LWJGL 3 не может. Таким образом, единственное решение, которое у меня может быть здесь, - это либо разбить его в таких кадрах, как Gimp, либо иметь gui как часть кадра LWJGL 3. Эти решения не оценены за то, что необходимо сделать. Есть ли способ, которым я мог бы обернуть рамку LWJGL 3 как внутренний фрейм или что-нибудь, чтобы заставить его придерживаться java swing или java fx gui?LWJGL 3 как метод рисования диаграмм

Я использую Java, потому что я знаю это лучше всего, у меня не так много опыта на других языках.

+0

Я не верю, что для ваших нужд нет вариантов построения диаграмм, поэтому ваш собственный будет абсолютным кошмаром и обязательно потерпит неудачу. Я не думаю, что кто-либо когда-либо делал свои дела без всякой помощи, он всегда включал помощь других. Например, matplotlib, jfreechar. – Snickers3192

+0

Thig - мне нужно иметь такие селектора, как в программах редактирования аудио, чтобы я мог применять некоторые функции (например, деривацию и интеграцию) к выбранной области. Я не замечал таких вариантов ни в одном из существующих, но я мог упустить эту функцию. – DLabinac

+0

Вы имеете в виду, что вы накладываете 2 ползунка для выбора интервала? Я собираюсь сделать пример этого с помощью jfreechart, вы собираетесь его выставить, как только он будет готов через 30 минут. – Snickers3192

ответ

1

Посмотрите здесь интервал график:

enter image description here

Я не могу уместить код здесь Unforunately, я отправлю его на GitHub. Но все, что вы можете себе представить, может быть сделано, я не буду проходить через все возможности jfreechart, которые можно настроить, но с некоторыми копаниями вы можете найти ответы.

Вы можете найти код на https://github.com/derrick3192/sliderchartdemo.git

Если вы хотите добавить кнопки масштабирования, а что нет, я предлагаю вам взглянуть на:.

plot.getDomainAxis() SetRange

Или

plot.getRangeAxis(). SetRange

Но я не имею в виду это обидно, но вы не можете прийти на stackoverflow с низкой репутацией (хотя у меня нет большого количества ответов) и утверждают, что все графические библиотеки недостаточно хороши, и вы должны сделать свой собственный, вы получите downvoted для этого, так что пройдите легко.

+0

Спасибо за код! Я поговорю с этим другом и посмотрю, удовлетворен ли он этим. Надеюсь, он будет, и я надеюсь, что он не придумает что-то неслыханное (не странное).Кроме того, ему или мне может понадобиться нечто совершенно другое, которое будет использоваться с LWJGL 3, для которого также потребуется gui, но мне кажется, что мне просто нужно дождаться реализации режима холста. Я никогда не утверждал, что таких функций не было в каких-либо графиках, я только что заявил, что я не знаю о таких функциях, а также никогда не видел никакой программы, кроме аудиоредакторов, имеющих такую ​​функциональность. – DLabinac

+0

И что касается моего низкого представителя, я сейчас студент, и я еще не знаю всех трюков в сделке, поэтому, пожалуйста, не обижайтесь на мой вопрос, который может показаться вводящим в заблуждение. С оригинальным вопросом, все еще нерешенным, я назову его решенным здесь, так как вы помогли с моей первоначальной проблемой, и я скажу, что вы не можете сшивать рамки, поскольку весь день работы в Google не помог. – DLabinac

-2

Другим решением является использование JOGL вместо LWJGL3, поскольку его можно использовать в качестве холста. Работает аналогичным образом, и с этим можно добиться того же.

Смежные вопросы