Oon tehny swingilä nyt käyttöliittymiä. Yhtä juttua en silti saa toimimaan eli miten saan tekstikentät eri pituisiksi. Nytkin kentistä tulee samanpituiset vaikka olen määritellyt tekstikenttien pituudet koodin alhaalla. Mitä pitäisi tehdä?
getContentPane().setLayout(new BorderLayout());
pnOtsikot.setLayout(new BoxLayout(pnOtsikot, BoxLayout.Y_AXIS));
pnTiedot.setLayout(new BoxLayout(pnTiedot, BoxLayout.Y_AXIS));
getContentPane().add(pnOtsikot, BorderLayout.WEST);
getContentPane().add(pnTiedot, BorderLayout.EAST);
pnOtsikot.add(lbTekstia);
pnOtsikot.add(lbTekstia2);
pnTiedot.add(tfTekstia);
pnTiedot.add(tfTekstia2);
JLabel lbTekstia = new JLabel("tekstiä");
JLabel lbTekstia2 = new JLabel("tekstiä2");
JTextField tfTekstia = new JTextField(20);
JTextField tfTekstia2 = new JPasswordField(6);
getContentPane().setLayout(new BorderLayout());
pnOtsikot.setLayout(new BoxLayout(pnOtsikot, BoxLayout.Y_AXIS));
pnTiedot.setLayout(new BoxLayout(pnTiedot, BoxLayout.Y_AXIS));
getContentPane().add(pnOtsikot, BorderLayout.WEST);
getContentPane().add(pnTiedot, BorderLayout.EAST);
pnOtsikot.add(lbTekstia);
pnOtsikot.add(lbTekstia2);
pnTiedot.add(tfTekstia);
pnTiedot.add(tfTekstia2);
JLabel lbTekstia = new JLabel("tekstiä");
JLabel lbTekstia2 = new JLabel("tekstiä2");
JTextField tfTekstia = new JTextField(20);
JTextField tfTekstia2 = new JPasswordField(6);
Vastaukset 1
Vanhimmat
Boxlayout vääntää tekstikentät samanlevyisiksi. Tutustuppa gridbaglayoutiin, vähän hankala aluksi, mutta toimii kun vähän aikaa testailee.
Tuolla oot varmaan jo käyny...
http://java.sun.com/docs/books/tutorial/uiswing/mini/layout.html