Eigentlich sollte es hier keine Probleme geben, und zahlreiche Beipspiele gibt es ja im Netz und dennoch will funktioniert es bei mir nicht. Hier mein Programm teil in dem eine scrollar erzeugt werden sollte, zeigt es aber nicht an
Sagt mir bitte wo sich der Fehler befindet, ich denke aber nicht das es am Code liegt, ein aus dem Netz fertiges Beispiel wollte bei mir auch nicht funktionieren.
Java:
public class StammbaumFenster extends JFrame{
JButton Personen[] = new JButton[15];
JLabel Pfeile[] = new JLabel[26];
private static final long serialVersionUID = 1L;
void addComponent( Container cont, GridBagLayout gbl,Component c,int x, int y,int width, int height,double weightx, double weighty,int typ , int schriftgroese){
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
if (typ==1) {
((JButton) c).setMargin(new Insets(0, 0, 0, 0));
((JButton) c).setFont(new Font("Arial", Font.PLAIN,schriftgroese));
}
else if (typ==2){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_Urgroßeltern.gif").getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));}
else if (typ==3){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_nach oben.gif").getImage().getScaledInstance(30, 10, Image.SCALE_SMOOTH)));}
else if (typ==4){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_kreuz.gif").getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));}
else if (typ==5){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_nachlinks.gif").getImage().getScaledInstance(27, 30, Image.SCALE_SMOOTH)));}
else if (typ==6){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_nachrechts.gif").getImage().getScaledInstance(27, 30, Image.SCALE_SMOOTH)));}
else if (typ==7){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_nachlinks.gif").getImage().getScaledInstance(108, 30, Image.SCALE_SMOOTH)));}
else if (typ==8){((JLabel) c).setIcon(new ImageIcon(new ImageIcon("Bilder/Pfeil_nachrechts.gif").getImage().getScaledInstance(108, 30, Image.SCALE_SMOOTH)));}
gbl.setConstraints(c, gbc );
cont.add( c );
}
StammbaumFenster(String titel){
super(titel);
JPanel panel=new JPanel();
JScrollPane scrollBar=new JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
getContentPane().add( scrollBar );
GridBagLayout gbl = new GridBagLayout();
Panel panel1 = new Panel();
panel1.setLayout(gbl);
for (int i=0;i<15;i++){
Personen[i]=new JButton("Max Mustermann");
}
for (int i=0;i<26;i++){
Pfeile[i]=new JLabel("");
}
for (int i=1;i<32;i++){
addComponent( panel1, gbl, new JLabel("<--->"), i , 0, 1, 1, 0 , 0 ,0,8);
}
//Urgroßeltern x y w h wx wy typ Schriftgröße
addComponent( panel1, gbl, Personen[0 ], 1 , 1, 3, 1, 0 , 0 ,1 ,9 );
addComponent( panel1, gbl, Pfeile[0 ] , 4 , 1, 1, 1, 0 , 0 ,2 ,9 );
addComponent( panel1, gbl, Personen[1 ], 5 , 1, 3, 1, 0 , 0 ,1 ,9 );
add(panel1);
}
}