Eclipseで勉強しています。以下のコードの
「class DrawPanel extends JPanel 」のところの「DrawPanel」
にギザギザの赤い線が出てエラーななっています。
エラー内容「型DrawPanelは既に定義されています」と出ています。
どこに定義されているのかよくわからない状態です。
参考書にはエラー箇所からしか記載されていないので、前の動いたList4_5.java を参考にして自分で
書いています。
まずはこのコードを実行したいので、よろしくお願いいたします。
//List4_7.java package sample2; import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import java.net.URL; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class list4_7 extends JFrame { public list4_7() { DrawPanel panel = new DrawPanel(); this.add(panel, BorderLayout.CENTER); this.setSize(300, 200); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { new list4_7(); } } class DrawPanel extends JPanel { //エラー箇所 private static final long serialVersionUID = 1L; private Image im = null; public DrawPanel(){ URL url; try { url = this.getClass().getResource ("/sample.jpg"); im = ImageIO.read(url); } catch (Exception e) {} } @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(im, 50, 50, this); } }
//List4_5.java package sample2; import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import javax.swing.JFrame; import javax.swing.JPanel; public class list4_5 extends JFrame { public list4_5() { DrawPanel panel = new DrawPanel(); this.add(panel, BorderLayout.CENTER); this.setSize(400, 400); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { new list4_5(); } } class DrawPanel extends JPanel { private static final long serialVersionUID = 1L; private Image im = null; public DrawPanel() { im = java.awt.Toolkit.getDefaultToolkit().getImage( "d:\pleiades\sample2\src\sample2\sample.jpg"); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(im, 50, 50, this); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/04/19 04:54
2019/04/19 05:08
退会済みユーザー
2019/04/19 05:15
2019/04/19 05:31