1

現在、JPanel 内に JPanel があり、そこに JScrollPane/JTable を配置したいと考えています。置きたい場所に置けなくて困っています。テーブルを JPanel の全幅に合わせたいのですが、テーブル内のすべての動的データを垂直方向に表示するのに必要なだけのスペースを埋めるだけです。

これは私が現在持っているコードで、写真はそれがどのように見えるかです。青い領域は、テーブル/スクロール状況のネストされたパネルです。また、テーブルの下に愚かな灰色の箱があるのはなぜですか. どうすればそれを取り除くことができますか?写真について申し訳ありません。データは機密情報です。ありがとう。

    JPanel panel = new JPanel();
    panel.setBounds(50, 100, 300, 450);
    panel.setBackground(Color.blue);
    contentPane.add(panel); //contentPane is the outter panel

    JScrollPane scrollpane = new JScrollPane(table); //table was created earlier
    panel.add(scrollpane,BorderLayout.NORTH);

テーブルパネル

サンプルプログラム (テーブルの下に大きな長方形は必要ありません)

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class Test {

public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(350,100,1000,800);
    JPanel contentPane = new JPanel(new BorderLayout());
    frame.setContentPane(contentPane);
    JTable table = new JTable(5,5);
    JScrollPane scrollpane = new JScrollPane(table);
    table.setFillsViewportHeight(true);
    contentPane.add(scrollpane,BorderLayout.NORTH);
    frame.revalidate();
}

}
4

2 に答える 2