Mit einem text-Feld und eine Schaltfläche, um eine variable zu initialisieren
Ich habe ein Stück code, wo ich versuche, verwenden Sie die Taste, um Zugriff auf ein JTextField...
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class NameGameFrame extends JFrame
{
public static void main( String[] args)
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Name Game");
frame.setLocation(500,400);
frame.setSize(500,500);
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
JLabel label = new JLabel("Enter the Name or Partial Name to search:");
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(2,10,10,10);
panel.add(label,c);
JTextArea textarea = new JTextArea(5,30);
panel.add(textarea);
JTextField textfield = new JTextField(20);
JButton button = new JButton("Search");
c.gridx = 1;
c.gridy = 1;
panel.add(button,c);
panel.add(textfield);
frame.getContentPane().add(panel, BorderLayout.NORTH);
frame.setVisible(true);
}
static class Action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String name = textfield.getText();
textarea.append(name);
textfield.selectAll();
}
}
}
Ich bin immer folgende Fehler in meinem code, und ich don t verstehen, warum...
- Fehler nicht finden symbol String name = "textfield".getText();
- Fehler nicht finden können, das symbol Textfeld.append(name);
- Fehler nicht finden können, das symbol "textfield".selectAll();
- Dein code Bezug auf
pack()/setVisible()
sollte kommen innerhalb von " Event-Dispatcher-Thread
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die Ursache aller 3 dieser Fehler ist der gleiche - Sie brauchen, um verschieben Sie die Variablen, die sich auf eine höhere Ebene, so dass sich beide Methoden auf Sie zugreifen kann...
Mit Java und den meisten anderen Sprachen, stellen Sie sicher, Sie lösen die ersten Fehler, bevor Sie versuchen zu lösen, die andere - oft der erste Fehler kann dazu führen, dass andere Fehler später auf.
setVisible(true)/add(...)
innerhalb der main-Funktion, wenn es getan werden sollte aufEvent Dispatcher Thread
🙂 Für mehr info Java-DocDie Deklaration und Verwendung in verschiedenen Funktionen;
So können Sie nicht darauf zugreifen.