当前位置: 首页 > 知识库问答 >
问题:

使用静态方法从另一个类中的JTextField获取文本

充运浩
2023-03-14

我有很多面板。第一个包含一个JTextField,用于获取玩家的用户名


public class FirstPanel extends JPanel {
   public static final JTextField usernameText = new JTextField(30);
   public FirstPanel() {

       this.setBackground(Color.GREEN);
       JLabel enterName = new JLabel("ENTER YOUR NAME");
       this.add(enterName);
       this.add(usernameText);
       usernameText.addActionListener(e ->
       {
           if (isThereUsername()) ;
          CardLAyout.cl.show(CardLAyout.panelCont, "2");
       });

当您输入文本时,您将被重定向到另一个面板,我想在其中显示以下消息“Hello*由于JTextfield从第一个面板获得的用户名”,让我们玩一个游戏。

我在第二个JPanel的类中编写了以下代码(ifThereUsername函数只是用来表示是否有文本)。但是,用户名没有显示,我只是阅读了消息的其余部分

if (FirstPanel.isThereUsername()) {
                hello = new JLabel("HELLO " + FirstPanel.getUsername() + "\n LET'S START THE GAME RIGHT NOW ! ");
                this.add(hello);
            } else {
                hello = new JLabel("HELLO \n let's start the game !");
                this.add(hello);
            }

字体getUsername在第一个面板中

 public static String getUsername(){
        return usernameText.getText();
        }

我真的很难将它们之间的类连接起来。起初,我在同一个类中编写了所有的JPanel,但它非常混乱。所以我使用静态方法

共有1个答案

霍襦宗
2023-03-14

不建议静态访问...

允许第一个面板访问第二个面板(或相反)

在FirstPanel中,介绍所需的构造函数,并记住字段中对第二个Panel的引用

在addActionListener实现中调用secondPanel。setUserName();

public FirstPanel() {
    private SecondPanel secondPanel;
    FirstPanel(SecondPanel secondPanel) {
       secondPanel = secondPanel;
    }

}

在您的代码中的某个地方:新的第一面板(第二面板);

 类似资料:
  • 我创建了两个类:和。下面是进行计算的方法: 这里是一个调用并显示结果的函数,不幸的是,我无法根据这本书要求它运行的方式来运行它。 任何提示都会帮助我在我的再教育过程中。

  • 问题内容: 我最近从使用PHP切换到Java,并进行了查询。想强调一下我是Java的初学者。 本质上,我正在使用文件A(具有类A),并且想要引用保存在文件B(类B)中的静态方法。使用A类时是否需要参考文件B?(我正在考虑使用PHP中的require_once)我在A类中的代码如下: Eclipse无法将B识别为类。我是否需要创建B的实例才能访问静态方法。觉得我真的忽略了某些东西,希望您能提出任何建

  • 问题内容: 如何从该类的静态方法获取该类的名称。例如 为了把它放在上下文中,我实际上想返回类名,作为异常中消息的一部分。 问题答案: 为了支持正确的重构(重命名类),则应使用以下任一方法: 或(感谢):

  • 我想在另一个类中使用那个擦除方法,但由于它看起来不是静态的,所以我不能这样做 那么我如何访问那个方法呢?

  • 问题内容: 我试图创建Hibernate Validator bean,并遇到从另一个类中的静态工厂方法创建bean的问题。我找到了一种初始化我的Validator bean的Spring方法(底部是解决方案),但是问题本身仍然没有解决。验证器在此处用作示例案例。 这就是我用Java创建Validator实例的方式 这就是我尝试在applicationContext.xml中创建bean的方式 我

  • 我有以下类(请注意,方法是静态的): 当我打电话的时候: 我想得到输出: