[Java] 74 Swing 14 JEditorPaneのハイパーリンクHTML作成

前回の続きです。

早速ハイパーリンク付きのHTMLファイルを作成するコードを書きました。

実際はリンク先のHTMLファイルはまだ作られておらず、リンクをクリックすると同時にSQL検索(あるいはSQL登録前の元ファイル検索)してレースHTMLをPythonにて作成します。

出走レース番号を付番するためにJRAの最大出走回数記録を調べたところ、1986年以降生まれではハートランドヒリュの127戦でした。したがってゼロ埋めは3桁に設定しています。

        // ベタ書きHTMLの文字列インスタンスを作成
        StringBuilder HTMLcode = new StringBuilder();

        // 現在日時の文字列インスタンスを作成
        Date dateObj = new Date();
        SimpleDateFormat format = new SimpleDateFormat( "yyMMddHHmmss" );
        String now = format.format( dateObj );

        // 競走馬名を取得
        String name = nameAndID4.get(0);
        System.out.println("競走馬名 " + name);

        Integer count = 0;
        HTMLcode.append("<table" + " " + "border='1'" + " " + "class='dataframe'>" + "<thead><tr>");
        for (ArrayList<String> raceList: raceListConSorts){
            if (count == 0){
                for (int i = 0 ; i < raceList.size() ; i++){
                    HTMLcode.append("<th>" + raceList.get(i) + "</th>");}
                HTMLcode.append("</tr></thead><tbody>");
                HTMLcode.append("<tr>");
                count = count + 1;}

            else{
                for (int i = 0 ; i < raceList.size() ; i++){
                	if (i == 4) {
                		String race_html = String.format("/%s_%s_%03d.html",now,name,count);
                		HTMLcode.append("<td>");
                		HTMLcode.append("<a href='" + race_html + "'>" + raceList.get(i) + "</a>");
                		HTMLcode.append("</td>");
                	}
                	else {
                    HTMLcode.append("<td>" + raceList.get(i) + "</td>");
                    }
                }
                HTMLcode.append("</tr>");
                count++;
            }
        }
        HTMLcode.append("</tbody></table>");

        // HTMLファイル名を作成
        String filename = String.format("/%s_%s.html",now,name);

        // HTMLファイルの作成
        try{
            File file = new File(filename);
            FileWriter filewriter = new FileWriter(file);
            filewriter.write(HTMLcode.toString());
            filewriter.close();}
        catch(IOException e){
            System.out.println(e);
        }