我对 GUI(和 Java,不到 3 个月前开始)非常陌生,并且需要一些关于我正在为家庭作业做的 GUI 的帮助。我作为最后的手段来到这里,因为我无法弄清楚这一点并且已经工作了几个小时。
我需要制作一个将通过 ImageIcons 数组的 GUI,并一次显示每个 ImageIcon(删除显示的前一个)。我已经把它放到了它显示我的第一个图像的位置,但是我的 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++;
}
}
}