重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

NetBeansを使ってアプレットを作成しています。

作成したい内容は、

・ペイントで作った「牧場」の絵を背景にする
・マウスを動かすと「ひよこの足跡」が表示される
・マウスをクリックすると「ひよこ」が表示される
・範囲を指定して、中央周辺でクリックすると「にわとり」が表示される
・「ひよこ」や「にわとり」の出現時に鳴き声も鳴るようにする
(※「ひよこ」や「にわとり」の絵もペイントで作成します)

どのイベントから作成していけばよいのやら…
NetBeas初心者の私にはとても難しいです。

NetBeansに詳しい方がいましたら、
ご協力いただけると嬉しいです。

お願いします。

A 回答 (1件)

森の背景の表示


マウスを動かすと、足跡を表示
マウスをクリックすると、狼の表示と、鳴き声

アプレットじゃなく、Jframeで、作成

netbeansで作っています

public class draw_moue_test extends javax.swing.JFrame {

int x=0,y=10,w=0,h=0;
JComponent cp;
int nn=100;
int [] px = new int [nn];
int [] py = new int [nn];
int count = 1,checkc =0;
Image im,imwolf,haikei;
URL wav;
File f;
AudioClip ac;
boolean display = false;

/** Creates new form draw_moue_test */
public draw_moue_test() {

im = Toolkit.getDefaultToolkit().getImage("footprint.gif");
imwolf=Toolkit.getDefaultToolkit().getImage("wolf.gif");
haikei=Toolkit.getDefaultToolkit().getImage("forest.gif");
f = new File("wolf.wav");
try {
wav = f.toURI().toURL();
} catch (MalformedURLException ex) {
Logger.getLogger(draw_moue_test.class.getName()).log(Level.SEVERE, null, ex);
}

ac = Applet.newAudioClip(wav);

initComponents();

w=getWidth();
h=getHeight();

cp = new JComponent() {

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(haikei, 0, 0, w, h, this);
for(int i=0;i<nn;i=i+10){
g.drawImage(im, px[i], py[i], this);
}
if (display){
g.drawImage(imwolf, x, y, this);
}

}
};
cp.setBounds(0, 0, w, h);
getContentPane().add(cp);

}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
formMouseClicked(evt);
}
});
addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent evt) {
formComponentResized(evt);
}
});
addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
formMouseMoved(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 600, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 600, Short.MAX_VALUE)
);

pack();
}// </editor-fold>

private void formMouseMoved(java.awt.event.MouseEvent evt) {

px[count%nn]=evt.getX();
py[count%nn]=evt.getY();

count++;
cp.repaint();


// TODO add your handling code here:
}

private void formMouseClicked(java.awt.event.MouseEvent evt) {

checkc++;
if (checkc%2 == 1) {
display=true;
ac.play();
}else{
display=false;
}
x=evt.getX();
y=evt.getY();

cp.repaint();



// TODO add your handling code here:

}

private void formComponentResized(java.awt.event.ComponentEvent evt) {

w=getWidth();
h=getHeight();

cp.setBounds(0, 0, w, h);
cp.repaint();


// TODO add your handling code here:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new draw_moue_test().setVisible(true);
}
});
}

// Variables declaration - do not modify
// End of variables declaration

}
    • good
    • 0
この回答へのお礼

アプレットとJframeって何が違うんですか??

お礼日時:2009/12/25 08:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!