问题
I stack a bit so if anyone has any ideas it would be helpful. So currently the program is compiling and running but I do not know how to finish it. I am using eclipse. What i want to do is when i start the program to change 4 different pictures in every 2 seconds so if you have any advices do not be shy. Here is the program.
/** 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, pictures2, pictures3, pictures4;
boolean go = true;
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);
pictures2 = new ImageIcon("galileo2.jpg");
pictures3 = new ImageIcon("galileo3.jpg");
pictures4 = new ImageIcon("galileo4.jpg");
this.add(images);
captionjtf = new JTextField(24);
this.add(captionjtf);
}
public void actionPerformed(ActionEvent ae)
{
}
}
/**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);
}
}
回答1:
put
Icon / ImageIcons
to theQueue
,Map
,Array
,List
,Vector
by starting Swing Timer pick up
Icon / ImageIcon
from the arrayadd Icon / ImageIcons to the JLabel, by using JLabel#setIcon()
code related for Swing GUI should be initialized from
invokeLater()
, more in the Initial Threads
来源:https://stackoverflow.com/questions/9606008/change-pictures-every-2-sec