간단한 프로그램에 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();
}
}
}
}
}
어떤 생각이 내가 잘못하고있는 무슨에 : 여기
코드인가?
를 참조하십시오? JPanel은 그래픽 콘텐츠를 표시하기 때문에 필요합니다. – Chax
@Chax : 예를 들어 위의 예를 참조하십시오. 그리고 아무것도 크기를 설정하지 마십시오. 대신 레이아웃 관리자를 사용하십시오. –