GridBagLayout отсутствует JTextFilds

В этом прослушивателе действий я создаю 9 JTextField с именами от «a» до «i». Но когда я запускаю программу, текстовые поля «d» и «g» отсутствуют, а JLabel «Bet Value» размещается неправильно.

Я новичок в этом, и может быть что-то, что я пропустил, поэтому я надеюсь, что некоторые из вас увидят, где что-то пойдет не так.

Итак, я спрашиваю: почему упомянутые текстовые поля не отображаются и почему указанная метка размещена неправильно.

Вот код для прослушивателя действий:

public void actionPerformed(ActionEvent e)
        {
            //Execute when button is pressed
            JFrame frame = new JFrame("Value Bet");
            frame.setVisible(true);
            frame.setSize(500,300);
            GridBagLayout layout = new GridBagLayout();
            frame.setLayout(layout);
            GridBagConstraints c = new GridBagConstraints();

            JLabel label;
            JTextField tf;

            if (shouldFill) {
            //natural height, maximum width
            c.fill = GridBagConstraints.HORIZONTAL;
            }
            if (shouldWeightX) {
            c.weightx = 0.5;
            }

            label = new JLabel("Kamp:");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 0;
            c.gridy = 0;
            frame.add(label, c);

            /*tf = new JTextField("Hvilken kamp?");
            c.fill = GridBagConstraints.HORIZONTAL;
            //c.gridwidth = 3;
            c.gridx = 1;
            c.gridy = 0;
            frame.add(tf, c);*/

            label = new JLabel("1");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 1;
            frame.add(label, c);

            label = new JLabel("X");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 2;
            c.gridy = 1;
            frame.add(label, c);

            label = new JLabel("2");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 3;
            c.gridy = 1;
            frame.add(label, c);

            label = new JLabel("Chance");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 0;
            c.gridy = 2;
            frame.add(label, c);

            label = new JLabel("Odds");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 0;
            c.gridy = 3;
            frame.add(label, c);

            label = new JLabel("Betvalue");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 0;
            c.gridy = 4;
            frame.add(label, c);

            tf = new JTextField(" a ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 2;
            frame.add(tf, c);

            tf = new JTextField(" b ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 3;
            frame.add(tf, c);

            tf = new JTextField(" c ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 4;
            frame.add(tf, c);

            tf = new JTextField(" d ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 2;
            c.gridy = 2;
            frame.add(label, c);

            tf = new JTextField(" e ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 2;
            c.gridy = 3;
            frame.add(tf, c);

            tf = new JTextField(" f ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 2;
            c.gridy = 4;
            frame.add(tf, c);

            tf = new JTextField(" g ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 3;
            c.gridy = 2;
            frame.add(label, c);

            tf = new JTextField(" h ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 3;
            c.gridy = 3;
            frame.add(tf, c);

            tf = new JTextField(" i ");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 3;
            c.gridy = 4;
            frame.add(tf, c);

            JButton button = new JButton("Udregn");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 4;
            c.gridy = 3;
            frame.add(button, c);
            button.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    //Execute when button is pressed
                    System.out.println("You clicked the 'Halvgarderings Bet' button");
                }
            });

            JButton b1 = new JButton("SPIL!");
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 4;
            c.gridy = 5;
            frame.add(b1, c);
            b1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    //Execute when button is pressed
                    System.out.println("You clicked the 'Halvgarderings Bet' button");
                }
            });

            JCheckBox cb1 = new JCheckBox();
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 1;
            c.gridy = 5;
            frame.add(cb1, c);

            JCheckBox cb2 = new JCheckBox();
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 2;
            c.gridy = 5;
            frame.add(cb2, c);

            JCheckBox cb3 = new JCheckBox();
            c.fill = GridBagConstraints.HORIZONTAL;
            c.gridx = 3;
            c.gridy = 5;
            frame.add(cb3, c);


        }
    });

person Lars Allan    schedule 31.05.2012    source источник
comment
Чтобы быстрее получить помощь, опубликуйте SSCCE.   -  person Andrew Thompson    schedule 31.05.2012


Ответы (1)


tf = new JTextField(" d ");
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 2;
c.gridy = 2;
frame.add(label, c);

label должно быть tf

person ratchet freak    schedule 31.05.2012