[英]jFrame Exiting when a value is achieved
我希望在達到某個值時關閉一個jFrame窗口,即100.框架只是一個進度條,顯示以顯示計算的距離。 當百分比= 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);
}
}
我建議您閱讀關於如何使用進度條的Swing教程作為示例,因為您當前的代碼結構不支持您的要求。 那就是你不斷需要更新進度條值,所以你需要一些循環。
另外,我懷疑你應該使用JFrame。 通常,您將使用主應用程序中的彈出式JDialog。 完成任務后,請參閱Nizil關閉對話框的建議。
你可能可以使用java.awt.Window#dispose()
這是一個簡單的過程:
if(progressbar.getValue==100){
System.exit(0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.