button kommt durch bild

silson

Aktives Mitglied
hallo, ich habe ein programm mit bildern und button, wenn ich auf einen bestimmten button drücke, soll ein bild ganz oben kommen, es kommt auch.
aber das problem ist das die buttons durch das bild kommen, obwohl ich das bild ganz oben im programm habe.
aber nur die buttons die anderen bilder bleiben als hintergrund.
(die buttons haben ein rollover)
 
Ein Screenshot für einen kurtzen Überblick wäre auch nicht ganz schlecht.

Auserdem hab ich deine Frage net ganz kappiert.Was meinst du mit die buttons kommen durch das Bild?
 
Achso, und du erstellt buttons, um sie hinterher zu 'übermalen'?
Nimm doch die methode setVisible(false)!?

Das würde das Problem zwar lösen, aber theor. kann man es ja so programmieren, dass die Buttons auch ohne setVisilbe nicht zusehen sein müssten.
Vielleicht hat er ja schon vorher irgendwo einen Denkfehler gemacht 🙂
 
hier ist der code...das pause-bild steht über allen anderen bildern, aber wenn ich mit der maus wackle kommt der button durch.
Code:
package de.blindtimer.java;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Setup extends JFrame{
 
    JLabel bild1;
    Icon rahmen1;
 
    JLabel bild2;
    Icon rahmen2;
 
    JLabel bild3;
    Icon pauseBild;
 
    JButton buttonPlay;
 
 
    public Setup(){
     
        pauseBild = new ImageIcon(getClass().getResource("text/text pause.png"));
        bild3 = new JLabel(pauseBild);
        bild3.setBounds(358, 300, 1205, 284);
        bild3.setVisible(false);
        add(bild3);
     
        Icon a = new ImageIcon(getClass().getResource("button/button play orange.jpg"));
        Icon b = new ImageIcon(getClass().getResource("button/button play blau.jpg"));
        buttonPlay = new JButton("", a);
        buttonPlay.setRolloverIcon(b);
        buttonPlay.setBounds(923, 354, 75, 84);
        buttonPlay.setBorder(null);
        buttonPlay.addActionListener(new ButtonHaendler());
        add(buttonPlay);
     
        rahmen1 = new ImageIcon(getClass().getResource("rahmen/rahmen timer.jpg"));
        bild1 = new JLabel(rahmen1);
        bild1.setBounds(202, 549, 1516, 516);
        add(bild1);
     
        rahmen2 = new ImageIcon(getClass().getResource("rahmen/rahmen runde.jpg"));
        bild2 = new JLabel(rahmen2);
        bild2.setBounds(729, 88, 462, 362);
        add(bild2);
    }
 
    class ButtonHaendler implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
         
            if(e.getSource()== buttonPlay){
                bild3.setVisible(true);
            }
        }
    }
}
 
das pause-bild steht über allen anderen bildern, aber wenn ich mit der maus wackle kommt der button durch.

Klar, weil dannder button neu gezeichnet wird, dein bild aber nicht.

Ich glaub die beste Lößung ist immernoch mit setVisible(false)
und dann eben noch mit setVisible(true), um den button dann wieder anzeigen zu lassen.
 

Neue Themen


Zurück
Oben