ボタンを押した時のアクションについてコードを書き、完成させました。
とりあえずバージョン0.1が出来上がったので、これから少しずつ機能を増やしていきます。
ガワ(GUI部分)はEclipseのサポートで何とかなりそうですし、アプリ機能を正確かつスムーズにコーディングするスキルを磨いていきたいです。
<途中から>
@Override
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("Button1")){
String name = text1.getText();
System.out.println("競走馬名取得 " + name);
Horse.IDSearch(name);
ArrayList<String> nameAndIDCon = Horse.IDSearch(name);
Integer count = nameAndIDCon.size()-1;
StringBuilder result = new StringBuilder();
for (String ele:nameAndIDCon) {
result.append(ele);
}
String resultStr = result.toString();
area.append(resultStr + "\n");
if (count >= 2) {
area.append("\n" + "該当する馬が複数います。番号を入力してください。");
nameAndIDCon.subList(0,1).clear();
area.append("\n" + nameAndIDCon + "\n");
int i = 1;
for (String s : nameAndIDCon) {
area.append(i + " " + s + "\n");
i = i + 1;
}
}
else if (count == 0){
area.append("該当する馬はいません"+ "\n");
}
else {
String name2 = nameAndIDCon.get(0);
String ID = nameAndIDCon.get(1);
area.append(name2 + "のIDは" + ID + "です"+ "\n");
ArrayList<ArrayList<String>> raceList = Horse.raceSearch(nameAndIDCon);
ArrayList<ArrayList<String>> raceListCon = Horse.raceSearch2(raceList);
Horse.toHTML(raceListCon,nameAndIDCon);
// HTMLファイルのパスを取得しJEditorPaneに埋め込む
path = HTMLPath.main();
System.out.println(path);
try {
editorPane.setPage(new File(path).toURI().toURL());
}
catch (IOException e1) {
e1.printStackTrace();
}
}
}
else if (cmd.equals("Button2")){
String text3 = text2.getText();
System.out.println(text3);
int numID = Integer.parseInt(text3);
System.out.println(numID);
String name3 = text1.getText();
System.out.println(name3);
ArrayList<String> nameAndIDCon = Horse.IDSearch(name3);
String ID = nameAndIDCon.get(numID);
ArrayList<String> nameAndIDCon2 = new ArrayList<String>();
nameAndIDCon2.add(name3);
nameAndIDCon2.add(ID);
ArrayList<ArrayList<String>> raceList = Horse.raceSearch(nameAndIDCon2);
ArrayList<ArrayList<String>> raceListCon = Horse.raceSearch2(raceList);
Horse.toHTML(raceListCon,nameAndIDCon2);
path = HTMLPath.main();
System.out.println(path);
try {
editorPane.setPage(new File(path).toURI().toURL());
}
catch (IOException e1) {
e1.printStackTrace();
}
}
}
}