型Containerのメソッドadd(String ,Compone
型Containerのメソッドadd(String ,Component)は引数(JPanel ,String)に適用できません。
今晩は、java初心者です、エラーの意味が理解出来ません、宜しくお願い致します。
《A》というプログラムと《B》というプログラムで、クラスを「class MyPanel extends JPanel」と「class JPanel」に変えただけで、「型Containerのメソッドadd(String ,Component)は引数(JPanel ,String)に適用できません。」というエラーがでます。
一体何が原因でしょうか。
JPanelを継承したクラス(MyPanel)を呼び出すのか、そのまま、JPanelクラスを呼び出すのかの違いだけで、内容的には何も変わるところがないはずだと思うのですが。
意味が理解出来ません。
========================================================================
《A》
public class Sample extends JFrame
{
Sample()
{
this.setSize(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = new MyPanel();
this.add(panel , BorderLayout.CENTER);
this.setVisible(true);
}
public static void main(String[] args)
{
new Sample();
}
}
class MyPanel extends JPanel
{
public void paintComponent(Graphics g)
{
g.setColor(Color.red);
g.fillOval(50,50,100,100);
}
}
============================================================
《B》
public class Sample extends JFrame
{
Sample()
{
this.setSize(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
this.add(panel , BorderLayout.CENTER);
this.setVisible(true);
}
public static void main(String[] args)
{
new Sample();
}
}
class JPanel
{
public void paintComponent(Graphics g)
{
g.setColor(Color.red);
g.fillOval(50,50,100,100);
}
}
=======================================================================