2016-12-03 57 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工作。