我有点卡住。当我按下按钮Submit时,应该在JLabel图像的相同位置重新显示另一张图片,因此,如果有人有任何想法,我将感谢他们使用eclipse,并且该程序正在编译并运行。这是代码
/** Here is the GUI of the program * class name SlideShowGui.java * @author Kiril Anastasov * @date 07/03/2012 */ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class SlideShowGui extends JPanel implements ActionListener { JLabel name, comments, images; JTextField namejtf, commentsjtf, captionjtf; JButton submit; ImageIcon pictures; SlideShowGui() { name = new JLabel("Name:"); this.add(name); namejtf = new JTextField(15); this.add(namejtf); comments = new JLabel("Comments:"); this.add(comments); commentsjtf = new JTextField(15); this.add(commentsjtf); submit = new JButton("Submit"); this.add(submit); submit.addActionListener(this); pictures = new ImageIcon("galileo1.jpg"); images = new JLabel(pictures); this.add(images); // pictures2 = new ImageIcon("galileo2.jpg"); // images2 = new JLabel(pictures2); // this.add(images2); captionjtf = new JTextField(24); this.add(captionjtf); public void actionPerformed(ActionEvent ae) { if(ae.getSource() == submit) { pictures = new ImageIcon("galileo2.jpg"); images = new JLabel(pictures); System.out.println("test"); } } } } /**The driver class of the program. Here is the JFrame * class name TestSlideShow.java * @author Kiril Anastasov * @date 07/03/2012 */ import java.awt.*; import javax.swing.*; public class TestSlideShow { public static void main(String[] args) { JFrame application = new JFrame(); SlideShowGui panel = new SlideShowGui(); application.add(panel); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); application.setSize(300,600); application.setLocation(400,100); application.setVisible(true); } }
改变这个
if(ae.getSource() == submit) { pictures = new ImageIcon("galileo2.jpg"); images = new JLabel(pictures); System.out.println("test"); }
至
if(ae.getSource() == submit) { pictures = new ImageIcon("galileo2.jpg"); images.setIcon(pictures); System.out.println("test"); }