java - 将组件添加到 jPanel java

标签 java netbeans

我正在尝试将 jtable 组件添加到我的 jPanel,但我看不到它。我究竟做错了什么?。

table gui = new table(data,colum); 
mainPanel.add(gui.table);

class table extends JFrame
{
    public JTable table; 

    public table(Vector data, Vector colum)
    {
        setLayout(new FlowLayout()); 
        table = new JTable(data,colum);
        table.setPreferredScrollableViewportSize(new Dimension(900,10));
        table.setFillsViewportHeight(true);
        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane); 
    }

}

最佳答案

扩展 JFrame 看起来很奇怪;您不使用任何顶级容器功能。下面是一个扩展 JPanel 的示例,其中 main() 将面板放入 JFrame 中。

--编辑以接受现有的 JPanel

public class TablePanel
{
  public static void addTableToPanel(JPanel jPanel, Vector rowData, Vector columnNames)
  {
    JTable jTable = new JTable(rowData, columnNames);
    jTable.setFillsViewportHeight(true);

    JScrollPane jScrollPane = new JScrollPane(jTable);
    jScrollPane.setPreferredSize(new Dimension(300, 50));

    jPanel.add(jScrollPane);
  }

  public static void main(String[] args) throws Exception
  {
    SwingUtilities.invokeAndWait(new Runnable()
    {
      @Override
      public void run()
      {
        Vector cols = new Vector();
        Vector rows = new Vector();
        Vector row1 = new Vector();

        cols.add("A");
        cols.add("B");
        cols.add("C");
        row1.add("1");
        row1.add("2");
        row1.add("3");
        rows.add(row1);
        rows.add(row1.clone());
        rows.add(row1.clone());
        rows.add(row1.clone());

        JFrame frame = new JFrame("TableTest");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel jPanel = new JPanel();
        jPanel.setLayout(new BorderLayout(0, 0));
        TablePanel.addTableToPanel(jPanel, rows, cols);

        frame.getContentPane().add(jPanel);
        frame.pack();
        frame.setVisible(true);
      }
    });
  }
}

关于java - 将组件添加到 jPanel java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606840/

相关文章:

java - 如何防止我的变量永远持续下去?

java - Ant(build.xml)相当于Eclipse的Build Path->Export?

java - NetBeans - 如何从外部库导入类

java - Netbeans错误: Schema doesnt exist

java - 扩展类和实现接口(interface)之间的交互

java - 随机资源选择

java - 如何使用 JAVA 设置文件的通用属性,如标题、主题、评论、公司等

jquery - NETBEANS 自定义代码折叠

python - Netbeans 8.0 启动报错

java - 如何在 NetBeans 8 上使用旧版本的 Java(不是默认版本)和 Maven 项目