//cd c:\HPBasic\Toppage-sample3\MySwing\Slideshow //javac Slideshow10.java //set CLASSPATH=. //appletviewer Slideshow10.html //appletviewer Slideshow10.java import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; /* */ public class Slideshow10 extends JApplet implements ActionListener { Container contentPane; SlidePanel10 slidepanel10; JButton startButton; JButton stopButton; AudioClip onceClip; public void init(){ contentPane = getContentPane(); slidepanel10 = new SlidePanel10(); Dimension d =new Dimension(600,480); // slidepanel1.setPreferredSize(d); JPanel minipanel= new JPanel(); startButton = new JButton("Start"); stopButton = new JButton("Stop"); startButton.addActionListener(this); stopButton.addActionListener(this); contentPane.add(minipanel,BorderLayout.NORTH); contentPane.add(slidepanel10,BorderLayout.CENTER); minipanel.add(startButton); minipanel.add(stopButton); minipanel.setBackground(Color.green); slidepanel10.setBackground(Color.yellow); } public void actionPerformed(ActionEvent event) { Object source = event.getSource(); if (source == startButton) { String midiFile = "coroptica.mid"; onceClip = getAudioClip(getCodeBase(),midiFile); onceClip.play(); //AudioPlay slidepanel10.init(); } if (source == stopButton) { onceClip.stop(); //AudioStop slidepanel10.stop(); } } } class SlidePanel10 extends JPanel implements Runnable{ Thread t; ImageIcon icon; int i = 1; int n = 7; //NUM_IMAGES String str ="コスモス"; public void init(){ // スレッドを起動する t = new Thread(this); t.start(); } public void run() { try { Thread mythread = Thread.currentThread(); while(t == mythread) { i++; if (i > n) i=1; update(); Thread.sleep(3000); } } catch (Exception e) { } } public void update(){ switch(i) { case 1: str="コスモス1"; break; case 2: str="コスモス2"; break; case 3: str="コスモス3"; break; case 4: str="コスモス4"; break; case 5: str="コスモス5"; break; case 6: str="コスモス6"; break; case 7: str="コスモス7"; break; default: str="不明"; } repaint(); } public void stop() { t=null; } public void paintComponent(Graphics g) { super.paintComponent(g); String imageName = "kosmos" + i + ".jpg"; // icon = new ImageIcon(imageName); URL baseURL = getCodeBase(); icon = new ImageIcon(getURL(baseURL,imageName)); g.drawImage(icon.getImage(),0,0,null); g.setFont(new Font("Serif", Font.BOLD, 30)); g.setColor(Color.blue); g.drawString("" + str,220,510); System.out.println("paint i = " + i + " imageName = " + imageName); } protected URL getURL(URL codeBase, String filename) { URL url = null; try { url = new URL(codeBase, filename); } catch (java.net.MalformedURLException e) { System.out.println("Couldn't create image: badly specified URL"); return null; } return url; } } /* C:\HPBasic\Toppage-sample3\MySwing\Slideshow100>javac Slideshow10.java Slideshow10.java:117: シンボルを解決できません。 シンボル: メソッド getCodeBase () 場所 : SlidePanel10 の クラス URL baseURL = getCodeBase(); ^ エラー 1 個 */