[Java] 47 Swing 03 getActionCommand

ボタンを押した時のアクションについてコードを書き、完成させました。

とりあえずバージョン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();
    		}
		}
	}
}
※海外レースのデータは含まれていません