gpt4 book ai didi

java - 使用文本字段和按钮初始化变量

转载 作者:行者123 更新时间:2023-11-29 07:15:20 25 4
gpt4 key购买 nike

我有一段这样的代码,我在其中尝试使用按钮访问 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();
}
}
}

我的代码中出现以下错误,我不明白为什么...

  1. 错误找不到符号 String name = textfield.getText();
  2. 错误找不到符号textarea.append(name);
  3. 错误找不到符号textfield.selectAll();

最佳答案

我认为这 3 个错误的原因是相同的 - 您需要将变量移到更高级别,以便两种方法都可以访问它们...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class NameGameFrame extends JFrame
{

// Moved these 2 variables to be class-level
static JTextField textfield = new JTextField(20);
static JTextArea textarea = new JTextArea(5,30);

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);

panel.add(textarea);

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();
}
}
}

对于 Java 和大多数其他语言,请确保先解决第一个错误,然后再尝试解决其他错误 - 通常第一个错误会导致以后出现其他错误。

关于java - 使用文本字段和按钮初始化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com