私はGUI(およびJava、3か月以内に開始)に非常に慣れていないので、宿題のために行っているGUIについてサポートが必要です。私はこれを理解することができず、何時間もそれに取り組んできたので、最後の手段としてここに来ました。
ImageIconの配列を通過し、各ImageIconを一度に1つずつ表示する(前に表示されていたものを消去する)GUIを作成する必要があります。最初の画像が表示される場所に到達しましたが、JButtonはまったく何も実行せず、動作させる方法がわかりません。私は私の教科書と多くのオンラインソースと私の先生が与えた例を調べましたが、まだ何もありません。解決策を見つけたら、私は愚かだと感じるでしょうが、今は疲れていて、長い間これをやってきたので、まっすぐに考え始めていません。助けてください=D!!!
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.ImageIcon;
public class HangmanPanel extends JPanel {
private JLabel imageLabel;
private ImageIcon[] images;
private JButton nextImage;
private int imageNumber;
public HangmanPanel() {
nextImage = new JButton("Next Image");
nextImage.setEnabled(true);
nextImage.setToolTipText("Press for next image.");
nextImage.addActionListener(new ButtonListener());
images = new ImageIcon[8];
// Populating the array
{
images[0] = new ImageIcon("hangman0.png");
images[1] = new ImageIcon("hangman1.png");
images[2] = new ImageIcon("hangman2.png");
images[3] = new ImageIcon("hangman3.png");
images[4] = new ImageIcon("hangman4.png");
images[5] = new ImageIcon("hangman5.png");
images[6] = new ImageIcon("hangman6.png");
images[7] = new ImageIcon("hangman7.png");
}
setBackground(Color.white);
add(nextImage);
int count = 0;
while (images.length > count)
imageLabel = new JLabel (images[imageNumber]);
count++;
imageNumber++;
add (imageLabel);
}
public void paint(Graphics page) {
super.paint(page);
}
private class ButtonListener implements ActionListener{
public void actionPerformed(ActionEvent event) {
imageNumber++;
}
}
}