1

Arraylist に格納されている一連の値から、JFrame で Java 2d グラフィックス (つまり、四角形の描画と塗りつぶし) を使用してグラフを描画しています。しかし、ArrayList に非常に多くの値がある場合 (サイズが最大 3500 になることもあります)、描画が圧縮されます。グラフの情報が少なくなり、X 軸のラベルも表示されなくなります。いくつかのページ単位の方法でグラフを表示可能にする方法はありますか (つまり、ページが最大 100 個の値を表示できるように制限すると、ユーザーがページ単位でナビゲートできる別のページに残ります)。

この種の状況にどのようにアプローチできますか?使用できるスタック レイアウトはありますか? パネルは使えますか?しかし、パネルの途中まで描画できますか (グラフはループ内で描画されるため、arraylist の要素が読み取られるまで)。または、スクロール可能なパネルを使用できますか? 私は現在、NetBeans でドラッグ アンド ドロップ GUI を使用せずにすべてを手動で描画しています。

洞察、提案、アイデアをいただければ幸いです。

よろしくお願いします

4

1 に答える 1

1

簡単な解決策は、パネルをJScrollPaneに配置することです。カード レイアウトを使用することもできます。グラフを n ページに配置し、各ページにグラフの 1/n 部分を表示するだけです。自分でグラフを描いているので、それは比較的簡単なはずです。率直に言って、あなたがやっていることにはカードレイアウトさえ必要ありません. ボタンが押されたら、チャートパネルにグラフのどの部分を表示するかを指示し、それに応じて更新します。

もう 1 つのオプションは、チャートを手動で作成する代わりに、チャート ライブラリを使用することです。 JFreeChartは、ユーザーがチャートをズームインおよびズームアウトできるようにする、一般的に使用されるライブラリです。

于 2010-07-30T12:12:06.063 に答える