JScrollPane не работает, я использовал JForm Layout
JScrollPane не работает. Я создал панель внутри нее, я добавляю JForm Layout. Затем я добавляю метку и одну динамическую панель добавляю JScrollPane, в которую я добавляю таблицу.
Проблема в том, что 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");
}
3 ответа
Это сработало для меня после некоторой борьбы.table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
Вы должны попробовать это. Это всегда должно отображать правителей.
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
Вы можете попробовать это:
JTable table = new JTable(model);
JScrollPane scrollpane= new JScrollPane(table);
add(new AddNewLedgerAccountp_UI().init_UI(), "4, 4");
...
Это сработало для моего JTextArea просто отлично. Я не знаю, работает ли он с JTable или вашим макетом.
РЕДАКТИРОВАТЬ: работает для меня с JTable тоже.