我想添加一個JProgressBar到一個簡單的程序來學習。到目前爲止,我可以顯示它,但它增加了多個實例,而我只需要顯示一個實例。 JProgressBar自我多次實例化它
下面的代碼:
package package1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
public class Opening extends JPanel {
private JProgressBar loadingBar;
private Thread t;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
//Loading bar
bar();
}
private void bar()
{
loadingBar = new JProgressBar();
t = new Thread(new LoadMyBar());
this.add(loadingBar).setLocation(25, 600);
loadingBar.setSize(625, 25);
loadingBar.setStringPainted(true);
loadingBar.setValue(0);
loadingBar.setMinimum(0);
loadingBar.setMaximum(100);
t.start();
}
class LoadMyBar implements Runnable
{
public void run(){
for(int i = loadingBar.getMinimum(); i <= loadingBar.getMaximum(); i++)
{
loadingBar.setValue(i);
try
{
t.sleep(1000);
}catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
}
任何想法是什麼我做錯了嗎?
如果我要來構造JProgressBar添加到JPanel我應該怎麼然後繼續?我需要JPanel,因爲它顯示了一些圖形內容(不會因爲這種方式使代碼更易讀)。 – Chax 2014-09-23 21:44:19
@Chax:例如,見上面的例子。並且不要設置任何尺寸。相反,使用佈局管理器。 – 2014-09-23 21:44:50