私は異なるJButtonを使ってJFrameを作ったので、別のクラスから画像を取得したいと思います。何か案は?または同じクラスをどのように描くのですか? それは私のコンパイラはいつも私にエラーメッセージを与えるJava:アクションリスナー内でグラフィックスコンポーネントを使用する
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.*;
public class red extends JFrame {
public JButton b;
public JButton b1;
public JButton b2;
public JButton b3;
public JButton b4;
public static Image p;
public static Graphics g;
public red() throws IOException {
gui1 x = new gui1();
setTitle(" ");
setSize(1200,700);
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
b= new JButton("click");
b1= new JButton();
b.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e0){
b1.setBounds(0, 0, 200, 200);
b.show(false);
add(x);
}
});
b.setBounds(0, 0, 100, 100);
add(b1);
add(b);
setVisible(true);
}
public static void main(String[] args) throws IOException {
red k = new red();
}
}
import java.awt.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class gui1 extends Canvas {
public static Image p;
public void paint(Graphics g){
g.drawImage(p, 700, 200, 100, 100, this);
}
{
try {
p= ImageIO.read(new File("Lighthouse.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
:
これは、次のコードで行われました。ワットは「イメージ」を取得することを意味しますか? 「描く」イメージですか?どのようなエラーメッセージが表示され、どのような条件で表示されますか? ...あなたのコードを見て(物語を無視して)、あなたはレイアウトがなく、xの境界を指定していないので、決して見ることはできません。 –
しかし、私はJbuttonを私が望む正確な位置に置き、同時にペイントコンポーネントを呼び出すことができます> –
'x.setBounds(..、...、..、...)'をどこにでも追加します。ああ、xは、xの左上隅から遠い画像を置くので、700x200より大きくする必要があります。 –