javaswingjscrollpanejscrollbarjform

JScrollPane is not working I used JForm Layout


JScrollPane is not working. I created a panel inside it I add JForm Layout. Then I add label and one dynamic panel add JScrollPane in which I add table.

Problem is this JScrollPane is not working properly. it is not showing vertical and horizontal bars, it just reacts like a constant panel with table data.

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");

}

Solution

  • This worked for me after some struggle.table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );