1. #1
    Lt. Commander
    Dabei seit
    Jul 2003
    Ort
    im schönen Süden (:
    Beiträge
    1.053

    [Java] Bild als Button

    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
    Gruß, Pierre

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Lt. Commander
    Dabei seit
    Dez 2006
    Ort
    in ner Bassrolle (^.^)
    Beiträge
    1.460

    AW: [Java] Bild als Button

    setz das bild mal als hyperlink in html ein, das müsste gehn
    Mein Rechenknecht || Viva La Bang || XFire

    "Wenn eine Frau sich im Spiegel sieht, denkt sie 'Ich hab schon wieder 1 Gramm zugenommen', wenn ein fetter, hässlicher Typ in den selben Spiegel sieht denkt er 'Hey, scharfer Macker !'."

  4. #3
    Lt. Junior Grade
    Dabei seit
    Jul 2006
    Ort
    zuhause
    Beiträge
    454

    AW: [Java] Bild als Button

    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.
    Trau keiner Statistik, die du nicht selber gefälscht hast

    Meine Webseite

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •