0

すでにtable1が含まれているスクロールパネル(フィードバックと呼ばれる)にtable2を追加したいと思います。ただし、表示されるテーブルは1つだけです。Feedback.add(table2)を使用すると、最初のテーブルのみが表示されます(2番目のテーブルは最初のテーブルの後ろにあると思いますが、2番目のテーブルを最初のテーブルの下に作成する方法がわかりません)。Feedback.getViewport()。add(table2、null)を使用すると、2番目のテーブルのみが表示されます。ここでレイアウトマネージャーを使用する必要がありますか?スクロールパネルのレイアウトについてオンラインで検索しようとしましたが、解決策が見つかりませんでした。誰かが私に何が問題なのか教えてもらえますか、または私にいくつかの関連するサンプルリンクを教えてもらえますか?どうもありがとう。相対コードは次のとおりです。

        content = getContentPane();
        content.setLayout(new FlowLayout());
        scrollPane = new JScrollPane(tree);
        feedback = new JScrollPane(table1);
        JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,scrollPane, feedback);
        content.add(splitPane);
            .
            .
            .
            .
        feedback.add(table2);
        //i add this, but still doesn't work 
        content.add(table2);
4

1 に答える 1

11

JScrollPaneの「ビューポート」に追加できるコンポーネントは1つだけです。これは、以下を使用して行われます。

JScrollPane scrollPane = new JScrollPane( table );

また

scrollPane.setViewportView( table );

複数のコンポーネントをに表示する場合は、scrollPane最初にコンポーネントをパネルに追加してから、パネルをビューポートに追加します。

詳細についてはJScrollPaneAPIを読み、例についてはSwingチュートリアルへのリンクもたどってください。

于 2010-02-26T21:42:48.023 に答える