F
FranzFerdinand
Gast
hallo,
momentan bin ich gerade dran ein kleines programm zu programmieren und komme nicht mehr weiter. im programm werden unter anderem durch einen aufruf in einer schleife die komponenten dynamisch erzeugt und danach grafisch dargestellt. das problem ist, dass sie nur erzeugt werden, man sieht sie aber nicht.
und mit einem new ComponentButton(mainframe, sName) in der schleife werden sie erzeugt.
gruß
FranzFerdinand
momentan bin ich gerade dran ein kleines programm zu programmieren und komme nicht mehr weiter. im programm werden unter anderem durch einen aufruf in einer schleife die komponenten dynamisch erzeugt und danach grafisch dargestellt. das problem ist, dass sie nur erzeugt werden, man sieht sie aber nicht.
Code:
import java.awt.*;
import javax.swing.*;
public class ComponentButton extends JComponent
{
private Image iBackground;
private JProgressBar _oProgressBar;
JLabel _oJComponent = new JLabel("");
String _sName;
public ComponentButton(GUI mainFrame, String sName)
{
setName(sName);
}
public void paint(Graphics g)
{
super.paintComponent(g);
if (iBackground != null)
{
g.drawImage(iBackground, 0, 0, null);
}
_oJComponent.setLayout(new BorderLayout());
_oJComponent.setSize(150, 100);
//Grid-Layout für den Namen und den Progressbar
JLabel _oPart = new JLabel("");
_oPart.setLayout(new GridLayout(0, 1));
_oPart.add(new JLabel(_sName));
//Neues Grid-Layout für die Prozentangabe und den Progressbar
JLabel _oName = new JLabel("");
_oName.setLayout(new GridLayout(0, 1));
_oName.add(new JLabel("0 % 100 %"));
//ProgressBar
_oProgressBar = new JProgressBar(JProgressBar.HORIZONTAL);
_oProgressBar.setStringPainted(true);
_oProgressBar.setValue(13);
_oName.add(_oProgressBar);
_oPart.add(_oName);
_oJComponent.add(_oPart,BorderLayout.CENTER);
//Label wird dem paint zugeordnet
add(_oJComponent).setVisible(true);
}
public void setName(String sName)
{
_sName = sName;
}
public void setProgressBar(JProgressBar oProgressBar)
{
_oProgressBar = oProgressBar;
}
}
und mit einem new ComponentButton(mainframe, sName) in der schleife werden sie erzeugt.
gruß
FranzFerdinand