2016-12-03 62 views
0

JScrollPane无法正常工作。我在里面创建了一个面板,我添加了JForm Layout。然后我添加标签和一个动态面板添加JScrollPane,我在其中添加表。JScrollPane无法正常工作我用JForm Layout

问题是这个JScrollPane无法正常工作。它没有显示垂直和水平线条,它只是像表格数据一样反映一个常量面板。

public LedgerPanel_UI() { 
    setLayout(new FormLayout(new ColumnSpec[] { 
      FormSpecs.RELATED_GAP_COLSPEC, 
      ColumnSpec.decode("244dlu"), 
      FormSpecs.RELATED_GAP_COLSPEC, 
      ColumnSpec.decode("250dlu"),}, 
     new RowSpec[] { 
      FormSpecs.RELATED_GAP_ROWSPEC, 
      RowSpec.decode("20dlu"), 
      FormSpecs.RELATED_GAP_ROWSPEC, 
      RowSpec.decode("fill:207dlu"), 
      FormSpecs.RELATED_GAP_ROWSPEC, 
      RowSpec.decode("fill:179dlu"),})); 


    style = new Style(); 

    TableModel_Ledgers model = new TableModel_Ledgers(); 
    JTable table = new JTable(model); 
    model.setColumnSize(table); 
    style.style_Table(table, table.getTableHeader(), false); 
    //scrollPane.getViewport().setPreferredSize(this.getPreferredSize()); 

    model.setData(); 
    model.fireTableDataChanged(); 


    JLabel lblNewLabel = new JLabel("Add New Customer"); 


    JScrollPane scrollPane = new JScrollPane(); 
    //scrollPane = style.style_JScrollPane(scrollPane, table); 
    scrollPane.setViewportView(table); 
    add(new AddNewLedgerAccountp_UI().init_UI(), "4, 4"); 
    add(lblNewLabel, "4, 2, center, fill"); 
    add(scrollPane, "2, 4, 1, 3, fill, fill"); 

} 
+0

为了更快得到更好的帮助,请发布[MCVE]或[简短,独立,正确的示例](http://www.sscce.org/)。 –

回答

0

这一番挣扎后,为我工作。 table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

0

你应该试试这个。这应该始终显示标尺。

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

+0

试过但仍不能正常工作 – Junaid

+0

如果删除JForm Layout,它会正确显示,对不对? – Einar

+0

不!甚至没有正确显示。如果你告诉我你的电子邮件,我可以给你发送完整的文件。 – Junaid

0

你可以试试这个:

JTable table = new JTable(model); 
JScrollPane scrollpane= new JScrollPane(table); 
add(new AddNewLedgerAccountp_UI().init_UI(), "4, 4"); 
... 

它的工作对我的JTextArea就好了。我不知道它是否适用于JTable或您的布局。

编辑:我也用JTable工作。