相关疑难解决方法(0)

如何使用java制作图库

对于我正在研究我的第一个GUI应用程序.它只是一个简单的图像查看器,有四个按钮:上一个,下一个,停止,播放.上一个和下一个工作正常,但老实说,我甚至不知道如何开始幻灯片部分(播放和停止).我知道有一个计时器类,当图像改变时可能很方便控制速度......但我不确定通常使用什么样的逻辑来循环图像.任何人都可以指出我正确的方向,我的大脑在这一点上有点油炸:0

我在下面提供了我的代码.我是新手,所以希望人们不会过分批评我的技术.如果重要的话,我在日食工作.

到目前为止这是我的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.TimerTask;


public class ImageGallery extends JFrame
{
    private ImageIcon myImage1 = new ImageIcon ("Chrysanthemum.jpg");
    private ImageIcon myImage2 = new ImageIcon ("Desert.jpg");
    private ImageIcon myImage3 = new ImageIcon ("Jellyfish.jpg");
    private ImageIcon myImage4 = new ImageIcon ("Penguins.jpg");
    JPanel ImageGallery = new JPanel();
    private ImageIcon[] myImages = new ImageIcon[4];
    private int curImageIndex=0;

    public ImageGallery ()
        {   
            ImageGallery.add(new JLabel (myImage1));
            myImages[0]=myImage1;
            myImages[1]=myImage2;
            myImages[2]=myImage3;
            myImages[3]=myImage4;

            add(ImageGallery, BorderLayout.NORTH);

            JButton PREVIOUS = new JButton ("Previous");
            JButton PLAY …
Run Code Online (Sandbox Code Playgroud)

java swing image-gallery

5
推荐指数
2
解决办法
2万
查看次数

循环中的javax.swing.JFrame setText()?+故意拖延?

我是Java的新手(仅使用它大约一周),我正在商店模拟器上工作.基本上我只是希望现在能够完成基本的事情,比如有一段时间直到关闭以及屏幕上显示打开变量的时间.

我在我的Simulation扩展javax.swing.JFrame类中做了以下函数:

public void incOpenTime() {
    timeOpen++;
    int hours = timeOpen / 3600;
    int minutes = (timeOpen % 3600) / 60;
    int seconds = (timeOpen % 3600) % 60;
    this.openTime.setText((hours < 10 ? "0" : "") + hours
            + ":" + (minutes < 10 ? "0" : "") + minutes
            + ":" + (seconds < 10 ? "0" : "") + seconds);
    decTimeLeft();
    }

public void decTimeLeft() {
    int remainingTime = 28800 - timeOpen;
    int hours = remainingTime / 3600; …
Run Code Online (Sandbox Code Playgroud)

java swing timer jframe event-dispatch-thread

3
推荐指数
1
解决办法
927
查看次数

进度条每100秒增加1

我试图让JProgressBar每100秒每秒增加1,而目前我正在使用Thread.sleep(100)while语句,如下所示:

    try {
         while (i<=100){
            doTime();

         }
    } catch (InterruptedException ex) {
        Logger.getLogger(SplashScreen.class.getName()).log(Level.SEVERE, null, ex);
    }

public void doTime() throws InterruptedException{


        jLabel1.setText("sleeping");
        Thread.sleep(100);
        jLabel1.setText("start");
        i++;
        pb.setValue(i);
        pb.repaint();

}
Run Code Online (Sandbox Code Playgroud)

如果我通过System.out.println实时显示它进行调试但是摇摆GUI冻结,直到它退出while循环可以有人帮忙吗?

谢谢

亚光

java swing

1
推荐指数
1
解决办法
4566
查看次数