首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >似乎无法获得在Jtextfield中输入的文本并在按下"Submit“按钮时使用该文本替换JLabels

似乎无法获得在Jtextfield中输入的文本并在按下"Submit“按钮时使用该文本替换JLabels
EN

Stack Overflow用户
提问于 2016-04-22 21:34:45
回答 1查看 40关注 0票数 0

首先,对于糟糕的格式,我很抱歉,我还是个Java新手。但问题来了。我正在尝试用java做一个危险的游戏,而我才刚刚开始。我不知道如何从JTextfield中检索信息,它要求用户输入他们的姓名(在按下“开始”按钮之后),并在用户按下“提交”按钮时用该文本替换JLabels中的"Player 1:“& "Player 2:”。答案似乎相当简单,但我却想不通,这非常令人沮丧。感谢您的帮助,谢谢!

代码语言:javascript
运行
复制
import java.awt.*; 
import java.awt.event.*;
import javax.swing.*; 

class JeopardyCulminating implements ActionListener
{
  JLabel mConversion, ints, fAndR, variableExp, algebra;
  JLabel playerScore, one, two;
  JLabel jeopardyTitle;
  JTextField player1, player2;
  JButton h11, h21, h31, h41, h51;
  JButton h12, h22, h32, h42, h52;
  JButton h13, h23, h33, h43, h53;
  JButton h14, h24, h34, h44, h54;
  JButton h15, h25, h35, h45, h55;
  JButton startButton;
  JFrame frame;
  String zero = "0", zero1 = "0";
  int playerCount = 2;
  int scoreCounter = 0;

  int score[][] = new int[playerCount][scoreCounter];
  String jokes[][] = new String[100][100];

  JeopardyCulminating()
  {
    // Setting the frame layout and setting the exit button
    frame = new JFrame("GUI Jeopardy"); 
    frame.setLayout(new FlowLayout()); 
    frame.setSize(390,750); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

// Title label
jeopardyTitle = new JLabel("Welcome to The Game of Jeopardy! 8th-9th Grade Math Edition!");
jeopardyTitle.setFont(new Font("Serif", Font.PLAIN, 14));

// Creating the category labels
mConversion = new JLabel("<html>Measurement<br>Conversion</html>");
ints = new JLabel("Integers");
fAndR = new JLabel("<html>Fractions<br>& Rationals</html>");
variableExp = new JLabel("<html>Variable<br>Expressions</html>");
algebra = new JLabel("Algebra");

// JTextField keeping track of score
player1 = new JTextField(7);
player2 = new JTextField(7);
player1.addActionListener(this);
player1.setEditable(false);
player1.setText(zero); 
player2.addActionListener(this);
player2.setEditable(false);
player2.setText(zero1);

// Score Labels
playerScore = new JLabel("Score:");
one = new JLabel("Player 1:");
two = new JLabel("Player 2:");

// Start Menu
startButton = new JButton("Start");
startButton.addActionListener(this);

// First column buttons
h11 = new JButton("$100a");
h11.addActionListener(this);
h11.setEnabled(false);
h21 = new JButton("$200a");
h21.addActionListener(this);
h21.setEnabled(false);
h31 = new JButton("$300a");
h31.addActionListener(this);
h31.setEnabled(false);
h41 = new JButton("$400a");
h41.addActionListener(this);
h41.setEnabled(false);
h51 = new JButton("$500a");
h51.addActionListener(this);
h51.setEnabled(false);

// Second column buttons
h12 = new JButton("$100b");
h12.addActionListener(this);
h12.setEnabled(false);
h22 = new JButton("$200b");
h22.addActionListener(this);
h22.setEnabled(false);
h32 = new JButton("$300b");
h32.addActionListener(this);
h32.setEnabled(false);
h42 = new JButton("$400b");
h42.addActionListener(this);
h42.setEnabled(false);
h52 = new JButton("$500b");
h52.addActionListener(this);
h52.setEnabled(false);

// Third column buttons
h13 = new JButton("$100c");
h13.addActionListener(this);
h13.setEnabled(false);
h23 = new JButton("$200c");
h23.addActionListener(this);
h23.setEnabled(false);
h33 = new JButton("$300c");
h33.addActionListener(this);
h33.setEnabled(false);
h43 = new JButton("$400c");
h43.addActionListener(this);
h43.setEnabled(false);
h53 = new JButton("$500c");
h53.addActionListener(this);
h53.setEnabled(false);

// Fourth column buttons
h14 = new JButton("$100d");
h14.addActionListener(this);
h14.setEnabled(false);
h24 = new JButton("$200d");
h24.addActionListener(this);
h24.setEnabled(false);
h34 = new JButton("$300d");
h34.addActionListener(this);
h34.setEnabled(false);
h44= new JButton("$400d");
h44.addActionListener(this);
h44.setEnabled(false);
h54 = new JButton("$500d");
h54.addActionListener(this);
h54.setEnabled(false);

// Fifth column buttons
h15 = new JButton("$100e");
h15.addActionListener(this);
h15.setEnabled(false);
h25 = new JButton("$200e");
h25.addActionListener(this);
h25.setEnabled(false);
h35 = new JButton("$300e");
h35.addActionListener(this);
h35.setEnabled(false);
h45 = new JButton("$400e");
h45.addActionListener(this);
h45.setEnabled(false);
h55 = new JButton("$500e");
h55.addActionListener(this);
h55.setEnabled(false);

frame.add(jeopardyTitle);
frame.add(mConversion);
frame.add(ints);
frame.add(fAndR);
frame.add(variableExp);
frame.add(algebra);
frame.add(h11);
frame.add(h12);
frame.add(h13);
frame.add(h14);
frame.add(h15);
frame.add(h21);
frame.add(h22);
frame.add(h23);
frame.add(h24);
frame.add(h25);
frame.add(h31);
frame.add(h32);
frame.add(h33);
frame.add(h34);      
frame.add(h35);      
frame.add(h41);        
frame.add(h42);         
frame.add(h43);          
frame.add(h44);         
frame.add(h45);         
frame.add(h51);          
frame.add(h52);          
frame.add(h53);
frame.add(h54);          
frame.add(h55);
frame.add(playerScore);
frame.add(one);
frame.add(player1);
frame.add(two);
frame.add(player2);
frame.add(startButton);
frame.setVisible(true);
}

// the problem is here:
public void actionPerformed(ActionEvent ae) 
{ 
  if(ae.getActionCommand().equals("Start")) 
  {   
    startButton.setVisible(false);

    JLabel rules = new JLabel("Rules & How to Play:");
    JLabel rules1 = new JLabel("*rules here*");

    JLabel names = new JLabel("Enter player names: ");
    JLabel player1 = new JLabel("Enter player 1's name:");
    JLabel player2 = new JLabel("Enter player 2's name:");

    JTextField playerName1 = new JTextField(15);
    JTextField playerName2 = new JTextField(15);
    playerName1.addActionListener(this);
    playerName2.addActionListener(this);

    JButton submitName = new JButton("Submit");
    submitName.addActionListener(this);

    frame.add(rules);
    frame.add(rules1);
    frame.add(names);
    frame.add(player1);
    frame.add(playerName1);
    frame.add(player2);
    frame.add(playerName2);
    frame.add(submitName);
  }

    if(ae.getActionCommand().equals("Submit"))
    {
      h11.setEnabled(true);
      h21.setEnabled(true);
      h31.setEnabled(true);
      h41.setEnabled(true);
      h51.setEnabled(true);
      h12.setEnabled(true);
      h22.setEnabled(true);
      h32.setEnabled(true);
      h42.setEnabled(true);
      h52.setEnabled(true);
      h13.setEnabled(true);
      h23.setEnabled(true);
      h33.setEnabled(true);
      h43.setEnabled(true);
      h53.setEnabled(true);
      h14.setEnabled(true);
      h24.setEnabled(true);
      h34.setEnabled(true);
      h44.setEnabled(true);
      h54.setEnabled(true);
      h15.setEnabled(true);
      h25.setEnabled(true);
      h35.setEnabled(true);
      h45.setEnabled(true);
      h55.setEnabled(true);

      jokes[0][0] = playerName1.getText();
      jokes[0][1] = playerName2.getText();
      one.setText(playerName1.getText());
      two.setText(playerName2.getText());
    }
}     

public static void main(String args[])     
{     
  SwingUtilities.invokeLater(new Runnable(){ 
    public void run(){ 
      new JeopardyCulminating();     
    } 
  });     
  }     
}
EN

Stack Overflow用户

发布于 2016-04-22 21:52:37

您可以这样做:

代码语言:javascript
运行
复制
    submitName.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e)
        {
            //Execute when button is pressed
                  one.setText(playerName1.getText());
                  two.setText(playerName2.getText());
        }
    }); 

当按下submitName按钮时,将更容易和更清楚地了解发生了什么。

此外,最好将所有的列和行按钮放在一个列表中,然后迭代,如果你想在它们上创建操作,比如添加到框架或启用它们,它看起来更好,也更容易阅读。

祝你好运

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36795339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档