2014-10-06 125 views
0

我有这段代码(是的,我是新手)但JTable没有显示。 在创建面板之前,我可以看到它(一个品红色的盒子,因为我还没有制作DataModel)。为什么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); 
} 

回答

1

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

如果添加表一个JScrollPane内像这样:

p2.add(new JScrollPane(table)); 

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