C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: JAVA のgetPrameterについての質問


(過去ログ 32 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■15525 / inTopicNo.1)  JAVA のgetPrameterについての質問
  
□投稿者/ gs (1回)-(2008/03/14(Fri) 15:37:06)

分類:[Java] 

2008/03/15(Sat) 14:14:29 編集(投稿者)

現在JAVAを使って、RPGなどにあるユーザーに任意で「賢さ・つよさ・すばやさ」などのステータスを振り分けてもらうプログラムを作っております。
すこし長くなってしまうのですが以下にそのプログラムを載せます。

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MyCharacter2 extends JApplet implements ActionListener
{
private final String Skills[] = {"Widthdom", "Strength","Agility" ,"Magic"};
     //スキルの名前かしこさ・つよさ・すばやさ・マジックの順
private JLabel[] labels = new JLabel[Skills.length];
private JPanel[] panels = new JPanel[Skills.length];
private JButton[] minusButtons = new JButton[Skills.length];
private JButton[] plusButtons = new JButton[Skills.length];
JLabel title;
JLabel label;
int[] intPoint = new int[5];
JPanel mainPanel;
JLabel pointRemaining;

public void init()
{
String strSkillPoint;

strSkillPoint = getParameter("StrSkillPoint");

mainPanel = new JPanel();
mainPanel.setLayout(null);

for (int a = 0 ; a <Skills.length; a++)
{
int n=80*a;
panels[a] = new JPanel();
panels[a].setBackground(Color.RED);
panels[a].setBounds(n, 40, 75, 100);

mainPanel.add(panels[a]);

plusButtons[a] = new JButton("+");
minusButtons[a] = new JButton("-");
labels[a] = new JLabel(Skills[a]+" : 0");
panels[a].add(plusButtons[a]);
panels[a].add(minusButtons[a]);
panels[a].add(labels[a]);
plusButtons[a].addActionListener(this);
minusButtons[a].addActionListener(this);
}

pointRemaining = new JLabel(strSkillPoint);
label = new JLabel("Points Remaininig");
title = new JLabel("Enter Skill Point");
title.setForeground(Color.BLUE);
title.setBounds(145, -40, 120, 120);
label.setBounds(160, 120, 120, 120);
pointRemaining.setBounds(200, 140, 120, 120);
mainPanel.add(label);
mainPanel.add(pointRemaining);
mainPanel.add(title);
getContentPane().add(mainPanel);

}
public void actionPerformed(ActionEvent e)
{
int skillPoint = Integer.parseInt(pointRemaining.getText());

for (int z = 0 ; z <Skills.length; z++)
{
if (e.getSource().equals(plusButtons[z]))
{
if(skillPoint > 0)
{
intPoint[z] += 1;
skillPoint -=1;
labels[z].setText(Skills[z] + " : " + intPoint[z]);
pointRemaining.setText(""+skillPoint);
}
else if(skillPoint <= 0)
{
intPoint[z] = intPoint[z];
skillPoint = skillPoint;
}
}
else if (e.getSource().equals(minusButtons[z]))
{
if(intPoint[z] > 0)
{
intPoint[z] -= 1;
skillPoint += 1;
labels[z].setText(Skills[z] + " : " + intPoint[z]);
pointRemaining.setText(""+ skillPoint);
}
else if(intPoint[z] <= 0)
{
intPoint[z] = intPoint[z];
skillPoint = skillPoint;
}

}
}
}
}

このプログラムをhtmlで開くためにhtmlのドキュメントで
<HTML>
省略
<applet code = "MyCharacter2.class" width = "400" height = "300">
<param name="strSkillPoint" value="45">
省略
</html>

をつくり<param name="strSkillPoint" value="45">で、ユーザーが振り分けられるポイントを変えることができました。

長い文章で申し訳ございません。

今回ご質問したいのは。今度は
private final String Skills[] = {"Widthdom", "Strength","Agility" ,"Magic"};
//スキルの名前かしこさ・つよさ・すばやさ・マジックの順
ここの部分を
String strSkillPoint;
strSkillPoint = getParameter("StrSkillPoint");
<param name="strSkillPoint" value="45">
と振りわけられるスキルのポイントをhtmlドキュメントで変えられるように、
スキルの名前・数も変えられるようにしたいのですが例えば
String strSkills[];
Skills[] = getParameter("Skills");
としてもコンパイルでエラーが出てしまいます。
arrayでgetParamaterを使ってもちゃんとコンパイルして実行するにはどのようにすればよいのでしょうか?ご存知の方がいらっしゃれば、アドバイスの方よろしくお願いいたします。
長い文章で申し訳ございません。


引用返信 編集キー/
■15535 / inTopicNo.2)  Re[1]: JAVA のgetPrameterについての質問
□投稿者/ Tom Yama (39回)-(2008/03/14(Fri) 17:58:47)
No15525 (gs さん) に返信
> としてもコンパイルでエラーが出てしまいます。
エラーメッセージは、何と出ていますか?
それを読んでもなお、わからないのですか?
引用返信 編集キー/
■15613 / inTopicNo.3)  Re[2]: JAVA のgetPrameterについての質問
□投稿者/ ddddd (1回)-(2008/03/17(Mon) 13:15:27)
No15535 (Tom Yama さん) に返信
> ■No15525 (gs さん) に返信
>>としてもコンパイルでエラーが出てしまいます。
> エラーメッセージは、何と出ていますか?
> それを読んでもなお、わからないのですか?
引用返信 編集キー/
■15674 / inTopicNo.4)  Re[3]: JAVA のgetPrameterについての質問
□投稿者/ じゃかるた (89回)-(2008/03/18(Tue) 09:19:58)
2008/03/18(Tue) 09:34:09 編集(投稿者)
2008/03/18(Tue) 09:34:04 編集(投稿者)

>String strSkills[];
>Skills[] = getParameter("Skills");
コードは見ていません。コンパイルエラーについて
getParameterをString配列で受けることはできません。

String strSkills[] = new String[1];
strSkills[0] = getParameter("Skills");
であればコンパイルは通ると思います。

String配列で受けたいのであれば
String strSkills[] = getParameterValues("Skills");
でとれると思います。

//これもOKなはず "Widthdom"
String strSkills = getParameterValues("Skills")[0];

すいません。ServletRequestのgetParameterかと思いました。
とれないのは変数のスコープの問題だと思います。

引用返信 編集キー/
■15749 / inTopicNo.5)  Re[4]: JAVA のgetPrameterについての質問
□投稿者/ gs (2回)-(2008/03/20(Thu) 00:42:00)
No15674 (じゃかるた さん) に返信
> 2008/03/18(Tue) 09:34:09 編集(投稿者)
> 2008/03/18(Tue) 09:34:04 編集(投稿者)
>
> >String strSkills[];
> >Skills[] = getParameter("Skills");
> コードは見ていません。コンパイルエラーについて
> getParameterをString配列で受けることはできません。
>
> String strSkills[] = new String[1];
> strSkills[0] = getParameter("Skills");
> であればコンパイルは通ると思います。
>
> String配列で受けたいのであれば
> String strSkills[] = getParameterValues("Skills");
> でとれると思います。
>
> //これもOKなはず "Widthdom"
> String strSkills = getParameterValues("Skills")[0];
>
> すいません。ServletRequestのgetParameterかと思いました。
> とれないのは変数のスコープの問題だと思います。
>
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -