12. september 2008 - 00:57Der er
7 kommentarer og 1 løsning
Kan ikk få GUI til at virke
I følgende kode prøver jeg at fremvise JTextField(s). Det eneste der kommer frem er vinduet. Hvad mangler jeg ?
public class IterationGUI extends JPanel {
public JFrame frame; public JPanel p1; public JTextField felt1,felt2,felt3,felt4,felt5,felt6,felt7,felt8,felt9,felt10,felt11,felt12,felt13,felt14,felt15, felt16,felt17,felt18,felt19,felt20,felt21,felt22,felt23,felt24,felt25,felt26,felt27,felt28,felt29,felt30,felt31; public JTextArea output;
/*public IterationGUI(){ frame = new JFrame("Prove"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }*/
public void makeGUI(){
frame = new JFrame("Prove"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout());
p1 = new JPanel();
//Opret objekt og placer dem i BorderLayout. p1.add(new JTextField (10));
felt1 = new JTextField (5);p1.add(felt1,BorderLayout.WEST); felt2 = new JTextField (5);p1.add(felt2,BorderLayout.WEST); felt3 = new JTextField (5);p1.add(felt3,BorderLayout.WEST); felt4 = new JTextField (5);p1.add(felt4,BorderLayout.WEST); felt5 = new JTextField (5);p1.add(felt5,BorderLayout.WEST); felt6 = new JTextField (5);p1.add(felt6,BorderLayout.WEST); felt7 = new JTextField (5);p1.add(felt7,BorderLayout.WEST); felt8 = new JTextField (5);p1.add(felt8,BorderLayout.WEST); felt9 = new JTextField (5);p1.add(felt9,BorderLayout.WEST); felt10 = new JTextField (5);p1.add(felt10,BorderLayout.WEST); felt11 = new JTextField (5);p1.add(felt11,BorderLayout.CENTER); felt12 = new JTextField (5);p1.add(felt12,BorderLayout.CENTER); felt13 = new JTextField (5);p1.add(felt13,BorderLayout.CENTER); felt14 = new JTextField (5);p1.add(felt14,BorderLayout.CENTER); felt15 = new JTextField (5);p1.add(felt15,BorderLayout.CENTER); felt16 = new JTextField (5);p1.add(felt16,BorderLayout.CENTER); felt17 = new JTextField (5);p1.add(felt17,BorderLayout.CENTER); felt18 = new JTextField (5);p1.add(felt18,BorderLayout.CENTER); felt19 = new JTextField (5);p1.add(felt19,BorderLayout.CENTER); felt20 = new JTextField (5);p1.add(felt20,BorderLayout.SOUTH); felt21 = new JTextField (5);p1.add(felt21,BorderLayout.SOUTH); felt22 = new JTextField (5);p1.add(felt22,BorderLayout.SOUTH); felt23 = new JTextField (5);p1.add(felt23,BorderLayout.SOUTH); felt24 = new JTextField (5);p1.add(felt24,BorderLayout.SOUTH); felt25 = new JTextField (5);p1.add(felt25,BorderLayout.SOUTH); felt26 = new JTextField (5);p1.add(felt26,BorderLayout.SOUTH); felt27 = new JTextField (5);p1.add(felt27,BorderLayout.SOUTH); felt28 = new JTextField (5);p1.add(felt28,BorderLayout.SOUTH); felt29 = new JTextField (5);p1.add(felt29,BorderLayout.SOUTH); felt30 = new JTextField (5);p1.add(felt30,BorderLayout.SOUTH); felt31 = new JTextField (5);p1.add(felt31,BorderLayout.SOUTH); output = new JTextArea ();p1.add(output,BorderLayout.NORTH);
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
gav ikk mig selv point i tilfælde jeg skulle gå i stå igen.. og det er jeg
Når jeg kører følgende kode, åbnes et vindue med store kasser i stedet for alle de små, som jeg vil have. ved ikk hvorfor kasserne "udvider" sig så meget.
Hvad skal der gøres for at skrive enkelte JTextField ud ?
import java.awt.*;
import javax.swing.*;
public class IterationGUI extends JFrame {
public JFrame frame; public JPanel p1; public JTextField felt1,felt2,felt3,felt4,felt5,felt6,felt7,felt8,felt9,felt10,felt11,felt12,felt13,felt14,felt15, felt16,felt17,felt18,felt19,felt20,felt21,felt22,felt23,felt24,felt25,felt26,felt27,felt28,felt29,felt30,felt31; public JTextArea output;
public void makeGUI(){
frame = new JFrame("Prove"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel(); frame.add(p1);
p1.setLayout(new BorderLayout(2,5)); //Opret objekt og placer dem i BorderLayout.
output = new JTextArea ();p1.add(output,BorderLayout.NORTH); felt1 = new JTextField (5);p1.add(felt1,BorderLayout.WEST); felt2 = new JTextField (10);p1.add(felt2,BorderLayout.WEST); felt3 = new JTextField (10);p1.add(felt3,BorderLayout.WEST); felt4 = new JTextField (10);p1.add(felt4,BorderLayout.WEST); felt5 = new JTextField (10);p1.add(felt5,BorderLayout.WEST); felt6 = new JTextField (10);p1.add(felt6,BorderLayout.WEST); felt7 = new JTextField (10);p1.add(felt7,BorderLayout.WEST); felt8 = new JTextField (10);p1.add(felt8,BorderLayout.WEST); felt9 = new JTextField (10);p1.add(felt9,BorderLayout.WEST); felt10 = new JTextField (10);p1.add(felt10,BorderLayout.WEST); felt11 = new JTextField (10);p1.add(felt11,BorderLayout.CENTER); felt12 = new JTextField (10);p1.add(felt12,BorderLayout.CENTER); felt13 = new JTextField (10);p1.add(felt13,BorderLayout.CENTER); felt14 = new JTextField (10);p1.add(felt14,BorderLayout.CENTER); felt15 = new JTextField (10);p1.add(felt15,BorderLayout.CENTER); felt16 = new JTextField (10);p1.add(felt16,BorderLayout.CENTER); felt17 = new JTextField (10);p1.add(felt17,BorderLayout.CENTER); felt18 = new JTextField (10);p1.add(felt18,BorderLayout.CENTER); felt19 = new JTextField (10);p1.add(felt19,BorderLayout.CENTER); felt20 = new JTextField (10);p1.add(felt20,BorderLayout.EAST); felt21 = new JTextField (10);p1.add(felt21,BorderLayout.EAST); felt22 = new JTextField (10);p1.add(felt22,BorderLayout.EAST); felt23 = new JTextField (10);p1.add(felt23,BorderLayout.EAST); felt24 = new JTextField (10);p1.add(felt24,BorderLayout.EAST); felt25 = new JTextField (10);p1.add(felt25,BorderLayout.EAST); felt26 = new JTextField (10);p1.add(felt26,BorderLayout.EAST); felt27 = new JTextField (10);p1.add(felt27,BorderLayout.EAST); felt28 = new JTextField (10);p1.add(felt28,BorderLayout.EAST); felt29 = new JTextField (10);p1.add(felt29,BorderLayout.EAST); felt30 = new JTextField (10);p1.add(felt30,BorderLayout.EAST); felt31 = new JTextField (10);p1.add(felt31,BorderLayout.EAST);
Når man ser din kode igennem ser den rigtig ud, men hvis man kører den, tilføjer den heller ikke JTextFields til JFrame, dvs man får en blank vindue. jeg har i dit eks tilføjet setSize(700,700) i main - funk
Det er korrekt. Jeg tilfoejer JTextField's til JPanel og ikke til JFrame.
Og det er der gode grunde til.
JFrame har BorderLayout d.v.s. at der kan klaskes 5 komponenter paa den.
Du vil jo have et meget stoerre antal JTextField's - derfor smider jeg 3 JPanel's paa Jframe, giver de JPanel's et GridLayout med plads til 20 komponenter og smider saa 10 JLabels + 10 JTextField's paa hver af dem.
Jeg mener at det er maaden du skal styre dit layout paa.
jeg kan godt se essensen i det kode du viser, men jeg vil VÆLDIG gerne have nogle textfields fremvist i vinduet, så jeg kan komme videre med arbejdet.... og det kan jeg stadig ikke med det eks du viser...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.