質問編集履歴

1 題名変更

maikel

maikel score 35

2018/06/04 23:14  投稿

java コンストラクタで作ったパネルはaddできるのか
java 別クラスで作ったパネルはaddできるのか
Javaのアップレットでコードを組んでいて、JButtonを別クラスで作ってプログラムを整えようとしました。
パネルの作ったクラスを継承、
zisakuhojo zi = new zisakuhojo();とプログラムして
add(zi);としたのですが、別クラスで作ったボタンやラベルをパネルに付け加えることはできないのでしょうか?
シンボルが見つからないとのエラーが出るのですが。
```Java
import javax.swing.*;
import java.io.*;
import java.awt.*;
import javax.imageio.*;
import java.awt.image.*;
import java.awt.event.KeyEvent;
public class zisaku extends JPanel{
zisakuhojo zi;
public zisaku(){
setBackground(Color.blue);
JLabel jl1 = new JLabel("coin catch");
jl1.setPreferredSize(new Dimension(100,500));
jl1.setFont(new Font(Font.SERIF, Font.BOLD, 25));
add(jl1);
zi = new zisakuhojo(); //コンストラクタでパネル継承
File file = new File("image_program.jpg");
zisakuhojo ss = new zisakuhojo(file);
**add(zi);** //エラー箇所
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
requestFocusInWindow();
g.setColor(Color.orange);
g.fillRect(450,600,80,30);
zi.draw(g);
}
}
```
```Java
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.imageio.*;
public class zisakuhojo{
int x,y;
BufferedImage imagefile;
public zisakuhojo(){
JPanel jp = new JPanel();
JButton jb = new JButton("start");
jp.add(jb);
}
public zisakuhojo(File file){
imagefile = ImageIO.read(file);
imagefile = imagefile.getSubimage(0,0,50,50);
}
```
[実際のエラーの内容](https://gyazo.com/4ba8681a5956b909821a128846b3194a)
  • Java

    18635 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る