0

JFreeChartでいくつかの問題が発生しました。ここで、私が作成しているものについて説明しました。JFreeChartを使用してシリーズを変更するときのランダムエラー。しかし今、私は別の関連する質問があります。ChartPanelタブ付きペインをクリックすると、CardLayoutグラフを切り替える必要があります。普通に試してみましたがJPanelpublic class JPaintablePanel extends JPanelタブによって名前の違うボタンが表示されています)、うまくいきました。しかし、同じことが機能しpublic class JPaintablePanel extends ChartPanelておらず、1つのグラフしか表示されていません。強制的ChartPanelに切り替えてデータを保存する方法を教えてください。

http://pastebin.com/THuvGan5 ChartPanel

http://pastebin.com/Br2swZiC CardLayout

4

2 に答える 2

1

明確にしなかったことを申し訳ありません: 、JTabbedPane同じグリッドに配置します。ChartPanelJPanel

あなたの質問からは明らかではありませんが、包含階層に意図した使用法を反映させることが役立つ場合があります。各カードが 3 つのパネルを囲むように意図されている場合は、それぞれCardPanelに 3 つの対応するフィールドが含まれるようにします。CardPanelコンストラクターで必要なパラメーターを渡します。ここここCardLayoutの例に示すように、これらのカードのインスタンスを に追加します。戦略パターンを使用して、個々のカードに共通インターフェースの特定の実装を提供します。

public class CardPanel extends JPanel {

    private JTabbedPane tabPane;
    private ChartPanel chart;
    private JPanel panel;

    public CardPanel(Dataset dataset, Context context, ...) {
        super(new GridLayout(0, 1));
        // initialize fields ...
        this.add(tabs);
        this.add(chart);
        this.add(panel);
    }
    ...
}
于 2012-11-03T15:15:39.120 に答える