Frame->Panel->ScollPane->Panel->Textfields
Das ist meine Struktur.
Die textfields werden auch schon erzeugt, aber mit den scrollbalken klappt das gar nicht. was mache ich falsch ?
reicht es nicht, dass das Panel auf dem Scrollpane größer ist als das scrollpane selbst ?
Das ist meine Struktur.
Die textfields werden auch schon erzeugt, aber mit den scrollbalken klappt das gar nicht. was mache ich falsch ?
reicht es nicht, dass das Panel auf dem Scrollpane größer ist als das scrollpane selbst ?
Code:
import java.awt.BorderLayout;
import java.util.Vector;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class test extends JFrame {
Vector vec = new Vector();
JTextField textf;
private JPanel jContentPane = null;
JScrollPane jScrollPane = null;
/**
* @param args
*/
public static void main(String[] args) {
new test();
}
/**
* This is the default constructor
*/
public test() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("Test");
this.setVisible(true);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jScrollPane = new JScrollPane(getJPanel());
//jScrollPane.set
jScrollPane.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
jScrollPane.setPreferredSize(new java.awt.Dimension(800,600));
jScrollPane.setName("TestPane");
jContentPane.add(jScrollPane);
}
return jContentPane;
}
private JPanel getJPanel() {
int y;
for (int i = 1;i<=50;i++){
vec.add(this.getJTextField(i));
}
System.out.println(vec.size());
JPanel jPanel = new JPanel();
jPanel.setLayout(null);
//jPanel.add(getJTextField(10), null);
for (y=0; y<vec.size();y++){
jPanel.add((JTextField)vec.get(y), null);
}
System.out.println(y);
jPanel.setSize(y*25,jPanel.getWidth());
return jPanel;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField(int hPos) {
JTextField jTextField = null;
jTextField = new JTextField();
jTextField.setBounds(new java.awt.Rectangle(5,hPos*20,200,20));
jTextField.setText(""+hPos);
return jTextField;
}
}