我有一个名为 ShoutBox 的类,它有这个数组和这个方法:
String messages[] = new String[10];
//declare 10 arrays
messages[0] = "Miley";
messages[1] = "Katy";
messages[2] = "Gaga";
messages[3] = "Beyonce";
messages[4] = "Taylor";
messages[5] = "Missy";
messages[6] = "Nicki";
messages[7] = "Adele";
messages[8] = "Rihanna";
messages[9] = "Selena";
String x = new ShoutBox().shoutOutCannedMessage(messages);
System.out.println(x);
public String shoutOutCannedMessage(String[] messages) {
for (int i = 0; i < messages.length; i++) {
System.out.println(i+". "+messages[i]);
}
System.out.print("Select a message: ");
int n = scan.nextInt();
String message = messages[n];
return message;
}
然后我有另一个 GUI 类,如何在执行操作时使结果显示在 JTextField 中?
private void shoutOutMessageActionPerformed(java.awt.event.ActionEvent evt) {
JTextArea.setText(????);
}
谢谢!
最佳答案
假设您想要显示数组中的下一个短语以响应某个事件,而不是一次显示所有短语:
- 给你的类一个 int 索引计数器字段,例如
private int shoutIndex
并将其初始化为 0。 - 在任何相关事件中(例如在 ActionListener 中),增加该索引,例如
shoutIndex++
- 然后使用余数运算符确保索引不大于数组的长度:
shoutIndex %= messages.length
- 然后使用索引
messages[shoutIndex]
从数组中获取相应的项,并使用它来设置 JTextField 的文本。
关于java - 如何将 JTextfield 的 setText 设置为带有数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35513780/