【问题标题】:Why can't I setText this jTextField?为什么我不能在这个 jTextField 中设置文本?
【发布时间】:2015-01-11 09:54:36
【问题描述】:

所以我一直在编写这段代码,但是两天来我一直无法找出问题所在。 这是问题所在的代码片段:

public void updatee(String gatavs){
    lauks.setText(gatavs);
    System.out.println(gatavs+"?!");
}
public void setup(int garums, String vards){

    labul.setText(vards);
    int i=1;
    String a="-";
    while(i<=garums){
        lauks.setText(a);
        a=a+"-";
        i++;
    }
}

这是在 JFrame 类中。一开始我从另一个类调用方法 setup ,它在 lauks 文本字段中设置文本就好了,但后来当我调用方法 updatee 它不会将文本 lauks 设置为另一个字符串。我什至放了 println,所以我可以检查它是否有字符串 gatavs,它打印到控制台就好了。这可能是什么问题?

编辑:这是完整的 JFrame 类:

package oliverakaratavas;

import javax.swing.JFrame;

@SuppressWarnings("serial")
public class MyFrame extends JFrame {
    int startif = 0;
    OliveraKaratavas par = new OliveraKaratavas();

    public MyFrame() {
        initComponents();
    }

    private void initComponents() {

        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        lauks = new javax.swing.JTextField();
        a = new javax.swing.JButton();
        b = new javax.swing.JButton();
        c = new javax.swing.JButton();
        d = new javax.swing.JButton();
        e = new javax.swing.JButton();
        f = new javax.swing.JButton();
        g = new javax.swing.JButton();
        h = new javax.swing.JButton();
        i = new javax.swing.JButton();
        j = new javax.swing.JButton();
        k = new javax.swing.JButton();
        l = new javax.swing.JButton();
        m = new javax.swing.JButton();
        n = new javax.swing.JButton();
        o = new javax.swing.JButton();
        p = new javax.swing.JButton();
        r = new javax.swing.JButton();
        s = new javax.swing.JButton();
        t = new javax.swing.JButton();
        u = new javax.swing.JButton();
        v = new javax.swing.JButton();
        z = new javax.swing.JButton();
        labul = new javax.swing.JLabel();

        jLabel2.setText("jLabel2");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("Karatavas");

        lauks.setEditable(false);
        lauks.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        lauks.setHorizontalAlignment(javax.swing.JTextField.CENTER);

        a.setText("A");
        a.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                aActionPerformed(evt);
            }
        });

        b.setText("B");
        b.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bActionPerformed(evt);
            }
        });

        c.setText("C");
        c.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cActionPerformed(evt);
            }
        });

        d.setText("D");
        d.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                dActionPerformed(evt);
            }
        });

        e.setText("E");
        e.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eActionPerformed(evt);
            }
        });

        f.setText("F");
        f.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                fActionPerformed(evt);
            }
        });

        g.setText("G");
        g.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                gActionPerformed(evt);
            }
        });

        h.setText("H");
        h.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                hActionPerformed(evt);
            }
        });

        i.setText("I");
        i.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                iActionPerformed(evt);
            }
        });

        j.setText("J");
        j.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jActionPerformed(evt);
            }
        });

        k.setText("K");
        k.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                kActionPerformed(evt);
            }
        });

        l.setText("L");
        l.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                lActionPerformed(evt);
            }
        });

        m.setText("M");
        m.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mActionPerformed(evt);
            }
        });

        n.setText("N");
        n.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nActionPerformed(evt);
            }
        });

        o.setText("O");
        o.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                oActionPerformed(evt);
            }
        });

        p.setText("P");
        p.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pActionPerformed(evt);
            }
        });

        r.setText("R");
        r.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rActionPerformed(evt);
            }
        });

        s.setText("S");
        s.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                sActionPerformed(evt);
            }
        });

        t.setText("T");
        t.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tActionPerformed(evt);
            }
        });

        u.setText("U");
        u.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                uActionPerformed(evt);
            }
        });

        v.setText("V");
        v.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                vActionPerformed(evt);
            }
        });

        z.setText("Z");
        z.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                zActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                        .addComponent(i, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(a))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addGroup(
                                                layout.createSequentialGroup()
                                                        .addGroup(
                                                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                                                        .addGroup(
                                                                                layout.createSequentialGroup()
                                                                                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                        .addGap(127, 127, 127))
                                                                        .addGroup(
                                                                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                                                        .addGroup(
                                                                                                layout.createSequentialGroup()
                                                                                                        .addComponent(j, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(k, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(l, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(m)
                                                                                                        .addGap(4, 4, 4)
                                                                                                        .addComponent(n, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(o, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(p, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                                                                        .addGroup(
                                                                                                layout.createSequentialGroup()
                                                                                                        .addGroup(
                                                                                                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                                                                                                        .addGroup(
                                                                                                                                layout.createSequentialGroup()
                                                                                                                                        .addComponent(b, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                                                        .addPreferredGap(
                                                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                                                        .addComponent(c, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                                                        .addPreferredGap(
                                                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                                                        .addComponent(d, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                                                        .addPreferredGap(
                                                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                                                        .addComponent(e, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                                                        .addPreferredGap(
                                                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                                                        .addComponent(f, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)
                                                                                                                                        .addPreferredGap(
                                                                                                                                                javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                                                        .addComponent(g, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                                                                                                        .addComponent(lauks))
                                                                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                                                                        .addComponent(h, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
                                                                                                                javax.swing.GroupLayout.PREFERRED_SIZE)))).addContainerGap())
                                        .addGroup(
                                                layout.createSequentialGroup().addComponent(r, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(s, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(t, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(u, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(v, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                                        .addComponent(z, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                        .addComponent(labul, javax.swing.GroupLayout.PREFERRED_SIZE, 8, javax.swing.GroupLayout.PREFERRED_SIZE)))));

        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, r, s, t, u, v, z });

        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel1)
                        .addGap(18, 18, 18)
                        .addComponent(lauks, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(a, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(b, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(c, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(d, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(e, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(f, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(g, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(h, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                        .addGroup(
                                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                        .addComponent(i, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(j, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(k, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(l, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(n, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(o, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(p, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addComponent(m, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGroup(
                                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(r, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(s, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(t, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(u, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(v, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(z, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(labul, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE)));

        layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] { a, b, c, d, e, f, g, h, i, j, k, l, n, o, p, r, s, t, u, v, z });

        pack();
    }// </editor-fold>

    private void tActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'T';
        par.parbaud1(b, word, gatavs);
    }

    private void uActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'U';
        par.parbaud1(b, word, gatavs);
    }

    private void vActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'V';
        par.parbaud1(b, word, gatavs);
    }

    private void zActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'Z';
        par.parbaud1(b, word, gatavs);
    }

    private void aActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'A';
        par.parbaud1(b, word, gatavs);
    }

    private void bActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'B';
        par.parbaud1(b, word, gatavs);
    }

    private void cActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'C';
        par.parbaud1(b, word, gatavs);
    }

    private void dActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'D';
        par.parbaud1(b, word, gatavs);
    }

    private void eActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'E';
        par.parbaud1(b, word, gatavs);
    }

    private void fActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'F';
        par.parbaud1(b, word, gatavs);
    }

    private void gActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'G';
        par.parbaud1(b, word, gatavs);
    }

    private void hActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'H';
        par.parbaud1(b, word, gatavs);
    }

    private void iActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'I';
        par.parbaud1(b, word, gatavs);
    }

    private void jActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'J';
        par.parbaud1(b, word, gatavs);
    }

    private void kActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'K';
        par.parbaud1(b, word, gatavs);
    }

    private void lActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'L';
        par.parbaud1(b, word, gatavs);
    }

    private void mActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'M';
        par.parbaud1(b, word, gatavs);
    }

    private void nActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'N';
        par.parbaud1(b, word, gatavs);
    }

    private void oActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'O';
        par.parbaud1(b, word, gatavs);
    }

    private void pActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'P';
        par.parbaud1(b, word, gatavs);
    }

    private void rActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'R';
        par.parbaud1(b, word, gatavs);
    }

    private void sActionPerformed(java.awt.event.ActionEvent evt) {
        String word = labul.getText();
        String gatavs = lauks.getText();
        char b = 'S';
        par.parbaud1(b, word, gatavs);
    }

    public static void main(String args[]) {
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(JFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new JFrame().setVisible(true);
            }
        });
    }

    public void updatee(String gatavs) {
        lauks.setText(gatavs);
        System.out.println(gatavs + "?!");
    }

    public void setup(int garums, String vards) {
        labul.setText(vards);
        int i = 1;
        String a = "-";
        while (i <= garums) {
            lauks.setText(a);
            a = a + "-";
            i++;
        }
    }

    // Variables declaration - do not modify
    private javax.swing.JButton a;
    private javax.swing.JButton b;
    private javax.swing.JButton c;
    private javax.swing.JButton d;
    private javax.swing.JButton e;
    private javax.swing.JButton f;
    private javax.swing.JButton g;
    private javax.swing.JButton h;
    private javax.swing.JButton i;
    private javax.swing.JButton j;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JButton k;
    private javax.swing.JButton l;
    private javax.swing.JLabel labul;
    private javax.swing.JTextField lauks;
    private javax.swing.JButton m;
    private javax.swing.JButton n;
    private javax.swing.JButton o;
    private javax.swing.JButton p;
    private javax.swing.JButton r;
    private javax.swing.JButton s;
    private javax.swing.JButton t;
    private javax.swing.JButton u;
    private javax.swing.JButton v;
    private javax.swing.JButton z;
    // End of variables declaration
}

这里是带有调用方法updateemain方法的类:

package oliverakaratavas;

public class OliveraKaratavas {

    public static void main(String[] args) {
        Vards v = new Vards();
        v.nofaila();
    }

    public void parbaud1(char b, String word, String gatavs) {
        int k = 0;
        MyFrame j = new MyFrame();
        while (k < word.length()) {
            char ch = word.charAt(k);
            if (ch == b) {
                gatavs = gatavs.substring(0, k) + ch + gatavs.substring(k + 1);
            }
            k++;
        }
        j.updatee(gatavs);
        System.out.println(gatavs);

    }
}

如果您还需要什么,请告诉我!

最终编辑:感谢 tmarven,问题得到了解答!

【问题讨论】:

  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。请注意,虽然setText(..) 不会追加 信息到文本字段,而是替换当前文本,因此在循环中调用setText(..) 似乎是一个错误。
  • 可以出示JTextField lauks;的声明吗?
  • 方法 setup 不是这里的问题,而是方法 updatee
  • “方法设置不是这里的问题,而是方法更新。” 这就是为什么您应该发布 MCVE。 引用一位用户会导致(WTE)“..更少的混淆和更好的答案”。由于缺少 MCVE,我正在投票关闭。
  • 您可能有一个 lauks 的实例会影响另一个实例;请编辑您的问题以包含显示问题的complete example

标签: java string swing jtextfield settext


【解决方案1】:

您有很多设计问题,您应该考虑从头开始您的项目。我不是 Swing 方面的专家,但您可能想考虑这样的事情:

从一个仅用于启动程序和进行一些底层配置的主类开始:

public class WPMAIN {

    // Entry point of your program (should be one and only)
    public static void main(String[] args) {
        // Creation of the frame and setting it visible
        WPFrame frame = new WPFrame();
        frame.setVisible(true);
    }

}

然后在JFrame中,尽量减少冗余代码。如果你有很多按钮,它们做同样的事情,只是有点不同,创建一个包含所有保持相同代码的方法:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;

@SuppressWarnings("serial")
public class WPFrame extends JFrame {

    private JPanel contentPane;
    private JButton A;
    private JButton B;

    public WPFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);

        A = new JButton("A");
        setupButton(A);
        B = new JButton("B");
        setupButton(B);

        GroupLayout gl_contentPane = new GroupLayout(contentPane);
        gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(
                gl_contentPane.createSequentialGroup().addComponent(A, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED)
                        .addComponent(B, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addContainerGap(237, Short.MAX_VALUE)));
        gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(
                gl_contentPane
                        .createSequentialGroup()
                        .addGroup(
                                gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(A, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(B, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)).addContainerGap(227, Short.MAX_VALUE)));
        contentPane.setLayout(gl_contentPane);
    }

    public void setupButton(final JButton init) {
        init.setMargin(new Insets(2, 2, 2, 2));
        init.setSize(25, 25);
        init.setPreferredSize(new Dimension(25, 25));
        init.setMinimumSize(new Dimension(25, 25));
        init.setMaximumSize(new Dimension(25, 25));
        init.setBorder(new LineBorder(new Color(0, 0, 0)));

        // Action listener that is separate for each button you create,
        // but like this you control all the buttons' actions at once
        init.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println(init.getText());
                JOptionPane.showMessageDialog(contentPane, "You pressed " + init.getText());
            }
        });
    }
}

请注意,这只是一个建议,我并不是说这是正确的方法,或者是最好的方法……只是它可以让您更好地控制您正在编写的代码。您可以参加这些课程,并运行它们以查看它是如何工作的。它相当简单,也许您可​​以尝试在此基础上进行构建。

【讨论】:

  • "..but you might want to consider.." 您可能需要考虑避免使用像“wanna”这样的俚语,以帮助那些以英语为第二的人语言。另见Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?(是的。)除此之外1)使用pack()而不是setBounds(100, 100, 450, 300); 2)当我们只需要一个实例时不要扩展JFrame。 3) 我更喜欢JFrame.DISPOSE_ON_CLOSE -- 很好地呼吁在面板中构建 GUI -- 再加上一个。
  • 这只是一个例子,而不是“最好的方法”。所有的 GUI 参数都是 Eclipse 生成的。我只是举例说明了他/她如何为多个按钮重用代码,这导致他/她的代码混乱。
  • 您是说 Eclipse 提示您设置框架的按钮/边界的大小还是自动设置?我非常怀疑这一点,但如果确实如此,那么它就是不应该用于 GUI 的废话——因为它鼓励不良做法(导致脆弱的 UI)。
  • 是 WindowBuilder/Swing Designer/JFrame 完成了其中的一些操作。我只是单击了一些随机属性作为示例。这是代码生成时的默认外观:gist.github.com/Ubica/8f4f0f40585ba5e6f0f0
【解决方案2】:

查看您的源代码,您似乎有很多问题混合在一起,不仅涉及 setup() 方法(请注意,我什至看不到主 OP 中对此方法的调用):

  • 对我来说最重要的是您的parbaud1 签名和正文,您将在其中创建JFrame 的实例(您自己的框架实现)并在该实例对象上调用parbaud1 方法:

    JFrame j = new JFrame();
    //...
    jFrame.updatee(gatavs);
    

这几乎会导致每次您的动作侦听器将事件处理逻辑委托给此方法时创建一个新对象,而在您的主框架上没有有效结果,因为您的代码应用于与您的视觉对象不同的对象。

然后解决方案是更改方法签名以保存 JFrame 实例,并在您的动作侦听器逻辑中的每次调用中传递当前 JFrame 实例:

public void parbaud1(JFrame jFrame, char b, String word, String gatavs)
{
  int k = 0;
  //    JFrame j = new JFrame();
  while (k < word.length())
  {
    char ch = word.charAt(k);
    if (ch == b)
    {
      gatavs = gatavs.substring(0, k) + ch + gatavs.substring(k + 1);
    }
    k++;
  }
  jFrame.updatee(gatavs); // Update the parmaeter argument and don't create a new one
  System.out.println(gatavs);
}

然后调用如下:

private void aActionPerformed(java.awt.event.ActionEvent evt)
{
  String word = labul.getText();
  String gatavs = lauks.getText();
  char b = 'A';
  par.parbaud1(this, b, word, gatavs); // Use the current JFrame instance
}
  • 第二个问题可能是没有文本附加到 gatavs 对象,因为从未达到主要条件 k &lt; word.length()为什么?

简单地说,因为遵循链接word 的方法将引用从不填充文本的labul 对象(word.lenght() 将始终为 0),因此您可能需要初始化该标签带有一些符合您需要的文本。

修复两个上面的列表将有助于解决 updatee 方法问题,但您仍然会陷入阅读您的代码的其他人,例如 StringOutOBoundExceptions,例如:

gatavs = gatavs.substring(0, k) + ch + gatavs.substring(k + 1); // If the first character is matched gatavs.substring(k+1) will fail because you gatavs String which value come from `lauks` is already empty because the text field is not even editable.

Here你可以得到你的代码的工作副本。

【讨论】:

    猜你喜欢
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    相关资源
    最近更新 更多