
NetBeansを使ってアプレットを作成しています。
作成したい内容は、
・ペイントで作った「牧場」の絵を背景にする
・マウスを動かすと「ひよこの足跡」が表示される
・マウスをクリックすると「ひよこ」が表示される
・範囲を指定して、中央周辺でクリックすると「にわとり」が表示される
・「ひよこ」や「にわとり」の出現時に鳴き声も鳴るようにする
(※「ひよこ」や「にわとり」の絵もペイントで作成します)
どのイベントから作成していけばよいのやら…
NetBeas初心者の私にはとても難しいです。
NetBeansに詳しい方がいましたら、
ご協力いただけると嬉しいです。
お願いします。
No.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
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- マウス・キーボード real vnc viewer で遠隔先で操作が出来ない。 2 2023/07/24 15:00
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Windows 10 「新規作成」メニューが表示されません 2 2023/04/07 14:56
- PowerPoint(パワーポイント) PowerPointの背景について 1 2023/03/12 15:22
- その他(IT・Webサービス) 知見のある方、教えてください。AI技術を活用して絵本を作りたいです 1 2023/04/13 13:28
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Visual Basic(VBA) ChatGPTに作らせたい Excel VBA 1 2023/04/05 19:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java junit list同士の比較方法
-
【Swing】JPanel クラス外から...
-
あるコンボボックスを選択する...
-
JavaのSwingのレイアウト
-
Buttonを押すと画像が表示され...
-
JOptionPaneでのフォーカスのト...
-
TextAreaでの文字の色
-
c言語のプログラミングで1から1...
-
最後の行に移動するには?
-
JPanelの切り替えと再描画
-
JDialogを閉じた時の処理
-
ノードの削除
-
ボタンクリック後パネルを再描...
-
画面遷移について困ってます。
-
Java-Swing TextAreaにスクロー...
-
VB6.0でのTextboxの高さ変更
-
JScrollPaneの細かい設定について
-
javaで方向キー・特殊キーなど...
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
【Swing】JPanel クラス外から...
-
JPanelの切り替えと再描画
-
TextAreaでの文字の色
-
最後の行に移動するには?
-
setPrefferedSizeとsetSize
-
ListSelectionListenerのvalueC...
-
Java-Swing TextAreaにスクロー...
-
javaで文字数制限するには?
-
JDialogを閉じた時の処理
-
エラーで式の開始が不正ですと...
-
JFrameとJPanelの最大化について
-
JPanelの重ね方/OverlayLayout他
-
VB6.0でのTextboxの高さ変更
-
ボタンがマウスオーバーしない...
-
次のように書いたのですが、ウ...
-
Java本格じゃんけんで
-
あるコンボボックスを選択する...
-
簡易電卓が作れない…
-
Buttonを押すと画像が表示され...
おすすめ情報