[Java] Bild als Button

P13RR3

Lt. Commander
Registriert
Juli 2003
Beiträge
1.148
Hi Leute!

Ich habe ein -sehr simples- Problem hier...

Code:
URL testBild = ImageIcon.class.getResource( "test.png" );
Icon iTest = new ImageIcon(testBild);
[B]JButton bBild = new JButton("lalalal");					//eigentl: JButton(iTest);[/B]
bBild.setBounds(50,400,100,100);
bBild.addActionListener(this);
add(bBild);

Bei dem Fettgedrucktem: Egal was davon den beiden Möglichkeiten steht: Das ganze Fenster wird leer angezeigt.
Also die ganzen anderen Buttons,etc... verschwinden. Was man sieht ist nur noch der Hintergrund. Wenn ich den Block auskommentiere erscheint wieder alles normal.

Hat einer von euch eine Erklärung dafür? Wäre echt super :)
 
setz das bild mal als hyperlink in html ein, das müsste gehn
 
Was hast du für ein Layout ist auf dem Panel, auf dem du den bBild raufsetzt? Wenn da überhaupt eins drauf ist, solltest du nicht mit setBounds arbeiten, sondern bei add() die entsprechenden Constraints verwenden, also zum Beispiel:
Code:
  JPanel panel = new JPanel();
  BorderLayout layout = new Borderlayout();
  panel.setLayout(layout);

  // das folgende ist einfach von dir kopiert und auf eine der Alternativen gekürzt
  URL testBild = ImageIcon.class.getResource( "test.png" );
  Icon iTest = new ImageIcon(testBild);   JButton bBild = new JButton(iTest);
  bBild.setBounds(50,400,100,100);
  bBild.addActionListener(this);

  // Hier ist der oben gemeinte Constraint angegeben (BorderLayout.CENTER)
  panel.add(bBild, BorderLayout.CENTER);
Besonders, wenn du auf dem JPanel ein BorderLayout hast, nimmt er als Defaultwert "CENTER" an. Der Button wird dann, wenn er die einzige Komponente ist, so gross wie das JPanel angezeigt und es könnte so aussehen, als wäre nichts drauf.
 

Ähnliche Themen

Zurück
Oben