【问题标题】:JTable Locked at the Top of the JScrollPaneJTable 锁定在 JScrollPane 的顶部
【发布时间】:2020-11-20 08:26:29
【问题描述】:

我正在使用 WindowBuilder 创建一个 GUI 应用程序。因此,我放置了一个 JTable,单击鼠标右键,然后单击环绕 JScrollPane。然后我拖动 JScrollPane 进入 JTabbedPane 以便我可以在选项卡中使用它。但是,JTable 被锁定在顶部,角落的调整大小锚点不起作用,并且 JTable 没有高度。 JScrollPane 大小正确,但 JTable 卡在顶部,高度为 0。当 JScrollPane 位于 JTabbedPane 之外时,也会出现此问题。

代码的相关部分:

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 850, 650);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
        
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
tabbedPane.setBounds(10, 11, 814, 578);
contentPane.add(tabbedPane);
        
JScrollPane scrollPane = new JScrollPane();
tabbedPane.addTab("New tab", null, scrollPane, null);
        
        
table = new JTable();
scrollPane.setViewportView(table);
setVisible(true);

【问题讨论】:

  • 填写表格的代码似乎也很相关,因为该代码本身可能无法重现您所看到的内容。请发布正确的minimal reproducible example(即剥离可运行代码)。
  • contentPane.setLayout(null); 和 JScrollPane 不能很好地结合在一起。避免使用null-layout,它是您的应用程序的harmful。您将遇到此类问题,或this one 和this one。为了获得更好的帮助,请尽快发布正确的 minimal reproducible example 来证明您的问题

标签: java swing jtable jscrollpane


【解决方案1】:

我解决了这个问题。我不得不添加这一行:

table.setFillsViewportHeight(true);

使其填充 JScrollPane 的视口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多