我遇到了一个问题,占据了我好几个小时。
我希望玩家在游戏中进行输入,然后我会进一步使用。但我不知道该怎么做......
尝试JOptionPane
,JTextField
和Scanner
。 Scanner
有效,但我想要它而不使用控制台:我
所以,这是我的代码:
窗口:
package Main;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Window
{
public static JFrame frame = new JFrame("Z-Stories");
public static JLabel Label = new JLabel ("<html></html>", JLabel.CENTER);
public static String LabelText;
public Window()
{
Label.setVerticalAlignment(JLabel.TOP);
frame.setSize(1920, 1080);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(Label, BorderLayout.CENTER);
frame.setIconImage(new ImageIcon(getImage()).getImage());
frame.pack();
frame.setVisible(true);
}
protected static Image getImage()
{
java.net.URL imgURL = Window.class.getResource("Logo32.png");
if (imgURL != null)
{
return new ImageIcon(imgURL).getImage();
} else
{
return null;
}
}
public static void addText(String Text)
{
LabelText = Label.getText();
LabelText = LabelText.replace("</html>", "");
if(Text != null)
{
Label.setText(LabelText + "<br/>" + Text + "</html>");
}else
{
Label.setText(LabelText + "<br/><br/></html>");
}
System.out.println(Label.getText());
Label.validate();
}
public static int InputInt()
{
//User Input here
//Maybe parse into Int
return output;
}
public static String InputText()
{
//User Input here
//Maybe convert to String
return outputText;
}
}
Game.java
...
public void StartGame()
{
ErstesSpiel = 1;
Window.addText("Wähle deine Sprache | Select your language");
Window.addText("");
Window.addText("Deutsch (1) | English (2)");
Window.addText("");
int var3 = Window.InputInt();
Window.addText("");
....
答案 0 :(得分:0)
当用户使用actionlistener或JButton点击按Enter键时,您可以使用JTextField并获取输入
创建此对象
JTextField UserInputField = new JTextField("");
当用户使用动作侦听器(more on Action Listeners)
按Enter键时调用此方法public static int InputInt()
{
String sInput = UserInputField.getText(); //Gets the string from the JTextField
int output = Integer.parseInt(sInput.trim()); //Parse string to int
return output; //Return as int
}
如果你想要的是方法在用户输入数字时自动运行,你可以使用键盘监听器 http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html