java - 为什么 JTable 没有显示?

标签 java swing layout jtable jpanel

我有这段代码(是的,我是新手),但 JTable 没有显示。 在创建面板之前,我可以看到它(洋红色框,因为我还没有创建数据模型)。​​

但是添加面板后,它就消失了。谁能告诉我为什么?提前致谢。

public Ost() {
    super();
    JTable table;
    OstBridge bridge;
    JButton btn;
    JPanel p1=new JPanel(new FlowLayout());
    JPanel p2=new JPanel(new FlowLayout());
    Container cp=getContentPane();
    cp.setLayout(new BoxLayout(cp,BoxLayout.Y_AXIS));




    p1.setBorder(BorderFactory.createTitledBorder("Panel 1"));
    p2.setBorder(BorderFactory.createTitledBorder("Panel 2"));
    this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    this.setSize(320, 240);
    this.setTitle("OST - Downloader");
    //this.setLayout(new FlowLayout());

    cp.add(p1);
    cp.add(p2);

    table=new JTable();
    table.setBackground(new Color(0xFF00FF));
    table.setSize(100, 100);
    table.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
    p2.add(table);

    bridge=new OstBridge();

    btn=new JButton("Prueba");
    btn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            System.out.println("Action event");
            System.out.println(e);
            System.out.println(bridge);
            new Ost();

        }
    });

    p1.add(btn);
    p1.setVisible(true);
    this.pack();

    this.setVisible(true);
}

最佳答案

它需要数据和/或数据模型才能让您看到有趣的东西。

如果您将表格添加到 JScrollPane 中,如下所示:

p2.add(new JScrollPane(table));

至少可以看到组件的轮廓。

关于java - 为什么 JTable 没有显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26215882/

相关文章:

java - 将 JAXB 注释类用于 JAXWS 服务

java - 如何使用 hibernate 保存模型返回到 spring mvc 中查看的列表

java - android中的类似功能SwingUtilities.invokeLater?

java - 使用 Windowbuilder 和 Java 显示双重使用文本?

css - 如何在 css 中制作一个不断增长的列?

java - 检查 App 是否安装在设备 android 代码上

java - 重置计数器 Java

java - 依次执行每个 SwingWorker 类

html - CSS - 固定宽度布局

layout - 如何在 LaTex 的同一行上正确对齐?