Ich brauche mal bitte eure Hilfe.
Ich habe mir eine eigene Klasse geschrieben, um eine JProgressBar samt Timer zu implementieren.
In der Testklasse mit Main Methode füge ich diese Klasse dann ein.
Die größe der ProgressBar Klasse welche JPanel erweitert habe ich auf z.B 200,200 festgelegt.
Die Testklasse mit JFrame auf 500,500. Trotzdem nimmt die Progressbar die größe des JFrames an. Wie kann ich das verhindern?
PBar Klasse
Testklasse
Ich habe mir eine eigene Klasse geschrieben, um eine JProgressBar samt Timer zu implementieren.
In der Testklasse mit Main Methode füge ich diese Klasse dann ein.
Die größe der ProgressBar Klasse welche JPanel erweitert habe ich auf z.B 200,200 festgelegt.
Die Testklasse mit JFrame auf 500,500. Trotzdem nimmt die Progressbar die größe des JFrames an. Wie kann ich das verhindern?
PBar Klasse
Java:
package cjava.ui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.Timer;
public class CProgressBar extends JPanel{
private JProgressBar p;
private int interval;
private int maxValue;
private int startValue;
private boolean showString;
private Timer timer;
private int width;
private int height;
private int i;
public CProgressBar(int width, int height, int interval, int startValue, final int maxValue, boolean showString){
this.interval = interval;
this.startValue = startValue;
this.maxValue = maxValue;
this.showString = showString;
this.width = width;
this.height = height;
p = new JProgressBar(startValue, maxValue);
i = startValue;
if(showString){
p.setStringPainted(true);
}
timer = new Timer(interval, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (i == maxValue){
timer.stop();
}
i=i+1;
p.setValue(i);
}
});
timer.start();
setLayout(new BorderLayout());
setPreferredSize(new Dimension(width, height));
setFocusable(true);
setDoubleBuffered(true);
setBackground(Color.BLACK);
setFocusable(true);
add(p, BorderLayout.CENTER);
}
}
Testklasse
Java:
package cjava.ui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class CBarTest extends JFrame {
public CBarTest(){
super("Test");
setSize(500,500);
setResizable(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
add(new CProgressBar(100, 100, 500, 0,100, true));
setVisible(true);
}
public static void main(String [] args){
new CBarTest();
}
}