0

質問 1) null レイアウトを持つ JPanel ps があります。JScrollPane scrollPane、および JTable テーブル。テーブルをscrollPaneに追加してから、scrollPaneをJpanel psに追加しました。以下は、それを行うための私のコードです:-

ps = new JPanel();
ps.setLayout(null);
ps.setSize(1000,600);

scrollPane = new JScrollPane();
scrollPane.setBounds(10, 119, 975, 300);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
ps.add(scrollPane);

table = new JTable(data, columns);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
scrollPane.setViewportView(table);

水平スクロールバーを持つ scrollPane を作成し、1 つの画面で処理できないほど列数が増えた場合、スクロールバーはコンテンツを表示するのに役立ちます。「AUTO_RESIZE_OFF」を参照してください。

しかし、何が起こるかというと、すべての列のサイズが固定されています (文字数はわかりません。すべての列の幅は同じです)。したがって、列の名前は完全には表示できません。

私の質問は、表示されている列の幅を広げること、またはすべての列を独自の幅で表示することは可能ですか? また、スクロールを有効にする方法は?

4

2 に答える 2

4
  1. はい。を参照してくださいTableColumn。一般的に、私が過去に行ったことは、ResultSetMetaデータを使用して列モデルを構築することです。詳細については、テーブルの使用方法をご覧ください。
  2. はい。ただしJTable、少し問題が発生する可能性があります。JTableの印刷と印刷をご覧ください。見る時間があれば、SOに関するいくつかの素晴らしい例があります。
  3. データベースの最後でデータをフィルタリングすることをお勧めします。結果のセットを取得したら、そのセットをフィルタリングしたい場合は、それを使用しResultSetMetaData て、グループ化する列を決定できます。同様に、まだ結果がない場合は、を使用DatabaseMetaDataしてデータベース内のテーブルの列を決定できます。
于 2013-01-27T02:20:34.773 に答える
3
  1. 質問 1 と 2 の印刷ジョブについて:ジャスパー レポートをご覧になることをお勧めします。
  2. 質問 3 については、データベースの構造がわからないのでわかりにくいのですが、探しているのは JTable の行スパンのようです。だから、そのようなことをグーグルで調べてみてください
于 2013-01-27T02:20:38.157 に答える