Рисование двухмерных диаграмм Java охватывает несколько видов или панелей или горизонтальную прокрутку - PullRequest
1 голос
/ 28 июля 2010

Я рисую график, используя графику Java 2d (то есть, рисуя и заполняя прямоугольники) сразу на JFrame из набора значений, хранящихся в Arraylist.Но когда ArrayList имеет очень большое количество значений (может даже достигать 3500 по размеру), чертеж сжимается - где график кажется менее информативным и даже метки на оси X не отображаются.Есть ли способ, которым я могу сделать отображение графика несколькими страницами (например, ограничение, чтобы страница могла отображать до 100 значений - остальные на разных страницах, где пользователь может перемещаться по странице).

Как я могу подойти к этому типу ситуации?Могу ли я использовать макеты с накоплением?Могу ли я использовать панели?Но тогда я могу рисовать на полпути на панелях (поскольку график рисуется внутри цикла - пока не будут прочитаны элементы массива)?Или у меня может быть прокручиваемая панель?В настоящее время я рисовал все вручную без использования графического интерфейса перетаскивания в NetBeans.

Я очень благодарен за любые идеи, предложения и идеи.

Заранее большое спасибо

1 Ответ

1 голос
/ 30 июля 2010

Быстрое решение - просто поместить вашу панель в JScrollPane .Вы также можете использовать макет карты .Просто поместите график на n страниц и покажите 1 / n-ю часть графика на каждой странице.Это должно быть относительно легко, так как вы рисуете график самостоятельно.Честно говоря, вам даже не нужен макет карты для того, что вы делаете.Когда кнопка нажата, просто скажите вашей диаграмме, какую часть графика показать, и соответственно обновите ее.

Другой вариант - использовать библиотеку диаграмм вместо создания диаграммы вручную. JFreeChart - это часто используемая библиотека, которая позволяет пользователю увеличивать и уменьшать масштаб графика.

...