ぼんさい塾

ぼんさいノートと補遺に関する素材や注釈です.ミスが多いので初稿から1週間を経た重要な修正のみ最終更新日を残しています.

例で考えるJavaプログラミング (15)

2013-01-15 22:18:21 | 暮らし
progJ.pdf
progJ-s.pdf
progJ-e.pdf

記事一覧

                      パラパラ漫画
midi出典は http://nocturne.vis.ne.jp/midi/japan/okano_teiichi/furusato_pi.html

progJ.pdf の[#65-67]に対応する部分を追加しました.一応 progJ.sys の出来上がりです.
※ *.class は http://hakurei-isl.org/m-miyata/jar/App66-dist.zip,
NetBeans ではすぐ表示されるのですが *.jar では 10 秒ほど待たされます.

//Main.java
package Main;
import java.awt.*;
import java.applet.*;
import java.net.*;
import javax.swing.*;
class App65 extends New61 {
    App65( ){
        AudioClip ac; URL u;
        try{
            u = new URL("http://hakurei-isl.org/m-miyata/jar/furusato_pi.mid");
        }
        catch(Exception e){System.out.println(e); return;}
        ac = Applet.newAudioClip(u); ac.play( );
    }
}
class App66 extends App65 {
    JPanel p2;
    App66(){
        super( ); setSize(350, 550);
        CardLayout cl = new CardLayout( );
        p2 = new JPanel(cl);
        URL u; JLabel lb;
        for(int k = 1; k < 4; k++){
            try{
                u = new URL("http://hakurei-isl.org/m-miyata/jar/img" + k +".gif");
            }catch(Exception e){System.out.println(e); return;}
            lb = new JLabel(new ImageIcon(u));
            p2.add(lb, "img"+k);
        }
        //p1.revalidate();
        getContentPane( ).add(p2);
        for(int k = 1; k < 4; k =(k%3)+1){
            cl.show(p2, "img"+k);
            try{Thread.sleep(100);}
            catch(Exception e){System.out.println(e); return;}
        }
    }
}
public class Main {
    public static void main(String[ ] args) {
        App66 app = new App66();
    }
}