2016-04-22 13 views
0

最初はお粗末な書式設定で申し訳ありません。しかし、問題に。私はJavaで危険なゲームを作ろうとしており、私はちょうど始めました。私は、JTextfieldから情報を取得する方法を理解することができません.JTextfieldは、ユーザーに名前の入力を要求し(「Start」ボタンを押した後に)、JLabelsを置き換えるためにTextを使用します。 "Player 1:" & "Player 2: "ボタンを押すと" Submit "ボタンが押されます。答えはかなりシンプルなようですが、私は理解できず、非常にイライラしています。どんな助けでも感謝しています!"Submit"ボタンが押されたときに、Jtextfieldにテキストを入力してJLabelsを置き換えることができないようです。

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

答えて

0

あなたはこれを行うことができます。

submitName.addActionListener(new ActionListener() { 

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

がsubmitNameボタンが押されたときに何が起こっているのかの方がはるかに簡単かつ明確になります。

また、列と行のすべてのボタンをリストに入れて、フレームに追加したり有効にするなどの操作を作成したい場合は、繰り返します。読む。

Goodluck

+0

ありがとうございます!私はこれを私のコードに実装しようとするつもりです。今日はチャンスがあります。私はJavaに新しいので、いくつかの問題があるかもしれませんが、私は理解します。再度、感謝します! – Liam

関連する問題