0

我希望在达到某个值(即 100)时关闭 jFrame 窗口。框架只是一个进度条,显示以演示计算的距离。当百分比 = 100 时如何退出?我在下面有我的代码。

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.border.Border;
import java.util.Scanner;

public class PicCalc 
{
public static void main(String args[]) 
{
  Scanner keyboard = new Scanner(System.in);
  long i = 0;
  int x = 0;
  int itinerations = 1;
  int percent = 100/itinerations;

  System.out.println("How many itinerations?");
  itinerations = keyboard.nextInt();

  for(i = 0; i <= itinerations; i++)
  {
     x = x + 5; //Will be replaced with more complicated stuff later

  }


  JFrame f = new JFrame("Loading...");
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  Container content = f.getContentPane();
  JProgressBar progressBar = new JProgressBar();
  progressBar.setValue(percent);
  progressBar.setStringPainted(true);
  Border border = BorderFactory.createTitledBorder("Calcualating...");
  progressBar.setBorder(border);
  content.add(progressBar, BorderLayout.NORTH);
  f.setSize(300, 100);
  f.setVisible(true);

 System.out.println(x);


}
}
4

3 回答 3

2

我建议您阅读有关如何使用进度条的 Swing 教程作为示例,因为您当前的代码结构不支持您的要求。那就是您不断需要更新进度条值,因此您需要某种循环。

另外,我怀疑你应该使用 JFrame。通常,您会使用主应用程序中的弹出式 JDialog。完成任务后,请查看 Nizil 关闭对话框的建议。

于 2013-10-22T15:05:33.667 回答
1

你可能可以使用java.awt.Window#dispose()

于 2013-10-22T14:45:10.760 回答
-1

这是简单的过程:

if(progressbar.getValue==100){  
    System.exit(0);
}
于 2013-10-22T15:07:22.220 回答