S
Sepp
Gast
Hallo zusammen,
ich hab ein Problem mit dem JForms bzw. ner JTable die Scrollen soll wenn sie muss.
Hierzu mach ich folgendes.
jContentPane ist ein JPanel.
Kann mir jemand sagen was daran falsch ist.
hier noch das JForm FormLayout:
ich hab ein Problem mit dem JForms bzw. ner JTable die Scrollen soll wenn sie muss.
Hierzu mach ich folgendes.
jContentPane ist ein JPanel.
Code:
private void initialize()
{
this.setSize(300, 200);
this.setContentPane(getJContentPane());
}
CellConstraints cc = null;
private JPanel getJContentPane()
{
if ( jContentPane == null )
{
MyFormLayout myLayout = new MyFormLayout(); //set rows and columns to layout Manager
jContentPane = new JPanel(myLayout.getLayout()); //MUSS im Konstruktor sein.
this.setJMenuBar(getJJMenuBar());
//************ DO ALL CELL CONSTRAINTS **********************
cc = new CellConstraints();
jContentPane.add(new JLabel("Label 1"), cc.xy (1, 1));
jContentPane.add(new JLabel("Label 2"), cc.xy (3, 1));
jContentPane.add(new JLabel("Label 3"), cc.xy (5, 1));
jContentPane.add(getJScrollPane(), cc.xywh (1, 3, 4, 1));
jContentPane.add(new JLabel("Label 4"), cc.xy (5, 5, "right,center"));
}
return jContentPane;
}
private JScrollPane getJScrollPane()
{
if ( jScrollPane == null )
{
jScrollPane = new JScrollPane();
jScrollPane.add(getJTable()); //zuerst die Liste in die Scrollpane stecken
jScrollPane.setViewportView(getJTable()); //dann die ViewportView setzen
}
return jScrollPane;
}
private JTable getJTable()
{
if ( jTable == null )
{
jTable = new JTable();
.....
DefaultTableModel model = new DefaultTableModel(vDataRows,vHeader);
jTable.setModel(model);
}
return jTable;
}
Kann mir jemand sagen was daran falsch ist.
hier noch das JForm FormLayout:
Code:
class MyFormLayout
{
private FormLayout layout = null;
public MyFormLayout()
{
}
public FormLayout getLayout()
{
if (layout == null)
{
layout = new FormLayout(
"pref, 4dlu, pref:grow, 4dlu, pref", // columns
"pref, 4dlu, fill:pref:grow, 4dlu, pref"); // rows
layout.setRowGroups(new int[][]{{1,5}});
}
return layout;
}
}