在java Observable的更新方法中传递数组作为参数
我正在开发一个简单的客户机-服务器游戏,在这个游戏中,客户机一旦成功登录,就会用一个包含25个单词的数组通知其观察者,以更新游戏。客户端正在发送正确的信息,但GUI中的更新方法不正确。更新方法如下所示在java Observable的更新方法中传递数组作为参数,java,arguments,observable,updates,Java,Arguments,Observable,Updates,我正在开发一个简单的客户机-服务器游戏,在这个游戏中,客户机一旦成功登录,就会用一个包含25个单词的数组通知其观察者,以更新游戏。客户端正在发送正确的信息,但GUI中的更新方法不正确。更新方法如下所示 public void update(Observable o, Object arg) { if (arg[0].equals("true1")) { for(int i = 1; i <26; i++]){ String [i] words
public void update(Observable o, Object arg) {
if (arg[0].equals("true1")) {
for(int i = 1; i <26; i++]){
String [i] words = args[i]; // sets the words to the args
}
player = new PlayerView(client, words); // creates new playerview taking the client and an array of words
this.setContentPane(player); // sets player view to content pane
}
}
public void更新(可观察到的o,对象arg){
如果(arg[0].equals(“true1”)){
对于(int i=1;i按如下方式操作:
- 检查
arg
是否实际上是字符串数组(字符串[])
- 将其转换为字符串数组
- 将
单词
声明为大小为25的数组(如果我正确理解了您的算法)
- 将索引1到25从arg数组复制到words数组
这应该行得通
public void update(Observable o, Object arg) {
// check that it is indeed an array
if(arg instanceof String[]) {
// cast it into an array
String[] argArray = (String[]) arg;
// make your words array
String[] words = new String[25];
if (argArray[0].equals("true1")) {
for(int i=1; i<26; i++) {
words[i-1] = argArray[i];
}
player = new PlayerView(client, words); // creates new playerview taking the client and an array of words
this.setContentPane(player); // sets player view to content pane
}
}
}
public void更新(可观察到的o,对象arg){
//检查它是否确实是一个数组
if(字符串[]的arg instanceof){
//把它抛成一个阵列
字符串[]argArray=(字符串[])arg;
//把你的单词排成数组
字符串[]字=新字符串[25];
if(argArray[0].equals(“true1”)){
对于(int i=1;iDefine“似乎不起作用”。