gpt4 book ai didi

java - JTable 在 JPanel 中不可见

转载 作者:行者123 更新时间:2023-11-30 04:06:54 25 4
gpt4 key购买 nike

由于我是 java swing 的初学者(我使用的是 netbeans),因此在我的 gui 中集成表格时遇到问题。我有一个选项卡,其中有一个面板,其中包含数据库中的研究选项,我想在此面板下方添加包含研究结果的生成表。通过 swing,我在我的选项卡中放置了一个 JPanel“researchPanel”,我所做的如下:

        table = my_research_function(options);
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
JScrollPane pane = new JScrollPane(table);
pane.setViewportView(table);
//resultsPanel.setLayout(new BorderLayout());
resultsPanel.add(pane);

// I'm just using this to ensure i get a table
// with correct results - works fine
JOptionPane.showMessageDialog(null, new JScrollPane(table));

正如我在 swing 生成的代码中看到的,resultsPanel 已经有了一个布局。以防万一,我做了一个 resultsPanel.setLayout(new BorderLayout())resultsPanel.add(pane, BorderLayout.CENTER) 并且我在面板中看到了一些阴影,但是仍然没有数据。

此外,在 netbeans 的“设计”选项卡中,我已将面板设置为“自动调整垂直和水平大小”,因为结果表可能相当大。我错过了什么?

最佳答案

Swing 组件只能有一个父组件。

由于以下原因,您无法在 resultsPanel 中看到 JTable

首先创建JScrollPane pane = new JScrollPane(table);

添加到resultsPanel

但是您可以在此处重写table的父组件JOptionPane.showMessageDialog(null, new JScrollPane(table));

因此,删除最后一行,您的 JTable 将可见。

关于java - JTable 在 JPanel 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20541605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com