Buttons auf ein Hintergrundbild(JFrame) setzen

Fab1

Top Contributor
Hallo zusammen,

ich wollte mich ein bisschen mit den grafischen Möglichkeiten von Java befassen. Somit hab ich mir gedacht, dass ich für den Anfang erst einmal einen Button auf ein Hintergrundbild(JFrame) setze.

Hier traten allerdings ein paar Probleme auf.
Nach langen Versuchen hab ich dann mithilfe eines Forum Posts immerhin schon einmal ein Hintergrund Bild hinbekommen.

Nun möchte ich einen Button mit einem Icon auf das Hintergrundbild setzen. Hört sich eigentlich ja wirklich einfach an. Und trotzdem schaffe ich es nicht.

Java:
public class Testlauf extends JPanel{
    
	Image image;	
	
	public Testlauf(Image image){
		 
	    this.image = image;
	    
	} 
	
    public static void main (String[] args) {
    	

    	Testlauf hintergrund = new Testlauf(Toolkit.getDefaultToolkit().getImage("hintergrund.jpg"));
    	
    	JFrame frame = new JFrame("Test");
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setSize(810, 630);
    	frame.setLocation(400, 100);
    	
    	frame.add(hintergrund);

    	ImageIcon icon = new ImageIcon("button.jpg");
    	JButton button = new JButton(icon);
    	button.setPreferredSize(new Dimension(icon.getIconWidth(), icon.getIconHeight()));
    	
    	JPanel panel = new JPanel();
    	panel.add(button);
 
    	frame.add(panel);
    	
    	frame.setVisible(true);
    }
     
    protected void paintComponent(Graphics g){
 
    	g.drawImage(image,0,0,this);
    	
    }    
}

Was es noch zu sagen gibt. Die Bilder ".jpg" werden alle geladen, ich hab es nämlich schon geschafft das Hintergrundbild zu sehen und auch den Button. Nur leider nie beide gleichzeitig. Ich hab schon das Gefühl die mögen sich nicht ;(

Über eine Hilfestellung wäre ich sehr dankbar.
 
G

Gast2

Gast
super.paintComponent(g) musst du auf jedenfall noch aufrufen.
Vielleicht erledigt sich dein Problem dann schon.
 

Fab1

Top Contributor
Vermutlich nicht, durch das letzte frame.add(panel) wird dein anderes Panel runtergeschmißen :)
Warum überhaupt ein zweites Panel? hintergrund.add(button); machts doch auch ?

Anfangs hatte ich kein Panel. Nur da hat auch nicht funktioniert. Somit dachte ich mir ich mach mal eins und mach die PreferredSize vom Panel auf die Größe des Buttons bzw. Icons das hatte auch nicht funktioniert.
Ich teste es jetzt mal mit super.paintComponent(g) und ohne dem Panel.

Edit: Warum eigentlich 2. Panel? Ist doch nur eins ???:L

Danke soweit.
 

Fab1

Top Contributor
Hoi,

also es funktioniert jetzt.

Das Problem war, ich hab den Button auf den JFrame gesetzt. Hätte ihn aber auf den hintergrund setzten müssen.

So ich bekomme nun die gewünschte Anzeige. Aber ich hätte noch eine Frage:

Was macht dieser Konstruktor genau? Hab den einfach 1 zu 1 von einem Forum übernommen.

Java:
(Toolkit.getDefaultToolkit().getImage("hintergrund.jpg")

Danke.

Edit: @ eRaaa nein das hab ich natürlich nicht mitgezählt^^
 

Einsal

Mitglied
Hallo,
ich bekomme es auch nicht hin einen JButton auf mein Hintergrundbild zu bekommen.
Ich möchte ein Text Spiel schreiben und habe schon den Start.
Doch ich weis nicht wo ich meine Button hinschreibe das sie gezeigt werden.
Mein Code:

Die GUI:

[/B] [CODE]package Game; import javax.swing.JButton; import javax.swing.JFrame; //import sun.awt.AWTAccessor.FrameAccessor; public class GUI { public static void main(String[] args) { HauptFenster unserFenster = new HauptFenster(); unserFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); unserFenster.setExtendedState(java.awt.Frame.MAXIMIZED_BOTH); //unserFenster.setSize(1000, 1500); unserFenster.setLocationRelativeTo(null); unserFenster.setVisible(true); } } [/CODE] [B]


Mein HauptFenster:

[/B] [CODE]package Game; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; public class HauptFenster extends JFrame implements ActionListener { private JButton schliesen; private JButton Start; private JButton laden; private JPanel Buttons; //Image image = java.awt.Toolkit.getDefaultToolkit().createImage("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png"); public HauptFenster() { super("Game"); Buttons = new JPanel(); Buttons.setVisible(true); Buttons.setBounds(100, 100, 100, 100); Buttons.setLayout(null); add(Buttons); /*BackroundStart BS = new BackroundStart(); BS.setBounds(0,0,1000,1500); BS.setVisible(true); Buttons.add(BS);*/ Start = new JButton ("START"); Start.setBounds(650, 250, 250, 70); Start.addActionListener(this); Font schriftart = new Font("Algerian", Font.BOLD , 30); Start.setFont(schriftart); Buttons.add(Start); laden = new JButton ("LADEN"); laden.addActionListener(this); laden.setBounds(650, 350, 250, 70); laden.setFont(schriftart); Buttons.add(laden); schliesen = new JButton ("SCHLIESEN"); schliesen.addActionListener(this); schliesen.setBounds(650, 450, 250, 70); schliesen.setFont(schriftart); Buttons.add(schliesen); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource() == schliesen) { this.dispose(); } else if (e.getSource() == Start) { NeuesFenster F = new NeuesFenster(); this.dispose(); } else if (e.getSource() == laden) { JOptionPane.showMessageDialog(getParent(), "Jetzt wird geladen"); } } } [/CODE] [B]

Mein Backround:

[/B] [CODE]package Game; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; public class BackroundStart extends JPanel { Image img; public BackroundStart() { setFocusable(true); ImageIcon u = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png"); img = u.getImage(); } @Override public void paint (Graphics g) { super.paint(g); Graphics2D f2 = (Graphics2D)g; f2.drawImage(img, 0, 0, getWidth(),getHeight(), this); } } [/CODE] [B]

Ist wahrscheinlich eine ziemlich triviale Frage, komme dennoch nicht weiter 😅
 

Einsal

Mitglied
tut mir leid, ich dachte das es so richtig ist. beim nächsten mal mache ich es richtig mit dem code :)
zum Thema Leichen, ich dachte man sollte lieber ein vorhandenen Thread nehmen, anstatt einen neuen zu öffnen. Denn wenn jmd, wie ich, Google durchforstet stößt man auf zig Threads und ich dachte man könnte das so minimieren. Werde ich beim nächsten mal auch besser machen 😅
Danke auf jedefall für die Antworten, werde es gleich probieren :D
 

Einsal

Mitglied
Habe ich nicht als Vorwurf sondern als Rat aufgenommen :)
Bräuchte aber dennoch erneut Hilfe.
Habe es jetzt hinbekommen, dass ich auf den neuen Fenster was ich erstelle der Hintergrund liegt und darauf ein Button ist.
Aber auf meinen Anfangs Fenster funktioniert es nicht.
Würdet ihr vielleicht noch einmal über meinen Code schauen und mir sagen was ich diesmal falsch mache 😅

Main
Code:
package Game;

import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) {

        JFrame F = new Frame();

    }

}


HauptFesnter

Code:
package Game;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
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;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Frame extends JFrame implements ActionListener{
    
    private JLabel MH;
    private JPanel ST;
    private JButton Start;
    private JButton Laden;
    private JButton Schliessen;
    private Icon Picture2;
    
    public Frame() {
        super ("Game");
        
        
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
        setResizable(false);
        
        
        /*Picture2 = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png");
        MH = new JLabel(Picture2);
        add(MH);*/

        Font schriftart = new Font("Algerian", Font.BOLD , 30);
        
        
        
        ST = new JPanel();
        ST.setBackground(Color.CYAN);
        ST.setLayout(null);
        ST.setBounds(0, 0, 800, 800);
        add(ST);
        
        Start = new JButton("START");
        Start.setBounds(600, 350, 300, 50);
        Start.setFont(schriftart);
        Start.addActionListener(this);
        ST.add(Start);
        
        Laden = new JButton("LADEN");
        Laden.setBounds(600, 420, 300, 50);
        Laden.setFont(schriftart);
        Laden.addActionListener(this);
        ST.add(Laden);
        
        Schliessen = new JButton("SCHLIESSEN");
        Schliessen.setBounds(600, 490, 300, 50);
        Schliessen.setFont(schriftart);
        Schliessen.addActionListener(this);
        ST.add(Schliessen);
        
        
    }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
        if(e.getSource() == Schliessen) {
            this.dispose();
        }
        else if (e.getSource() == Start) {
            
            NeuesFenster F = new NeuesFenster();
            this.dispose();
            
            
        }
        else if (e.getSource() == Laden) {
            
            JOptionPane.showMessageDialog(getParent(), "Jetzt wird geladen");
        }
        
    }   
}

Hier ist der Hintergrund nur grau

Fenster was sich öffnet wenn man den StartButton drückt

Code:
package Game;

import java.awt.Font;

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

public class NeuesFenster extends JFrame {
    
    private JLabel MHH;
    private JButton Start;
    
    
    public NeuesFenster() {
        super("Game");
    
    
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
        setResizable(false);
        //setLayout(new Border
        
        Font schriftart = new Font("Algerian", Font.BOLD , 30);
    
        Icon Picture = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png");
        MHH = new JLabel(Picture);
        add(MHH);
    
        Start = new JButton("START");
        Start.setBounds(600, 350, 300, 50);
        Start.setFont(schriftart);
        //Start.addActionListener(this);
        MHH.add(Start);
    
    
    }
}

Hier wird alles richtig angezeigt

Ich hoffe das ich dieses Mal mit den Code alles richtig gemacht habe, wenn nicht bitte bescheid sagen :D
 

VPChief

Bekanntes Mitglied
1599052359222.png
Ich hab jetzt die Starten funktion raus, und eine main klasse gemacht die das aufruft, Deine Code Felder sind richtig
Klasse main:
Java:
package programme;

public class main {
   
public static void main(String[]args) {
    Frame frame = new Frame();  
    }

}
Java:
package programme;

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

import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Frame extends JFrame implements ActionListener{
   
    private JLabel MH;
    private JPanel ST;
    private JButton Start;
    private JButton Laden;
    private JButton Schliessen;
    private Icon Picture2;
   
 
    public Frame() {
        super ("Game");
       
       
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
        setResizable(false);
       
       
        /*Picture2 = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png");
        MH = new JLabel(Picture2);
        add(MH);*/

        Font schriftart = new Font("Algerian", Font.BOLD , 30);
       
       
       
        ST = new JPanel();
        ST.setBackground(Color.CYAN);
        ST.setLayout(null);
        ST.setBounds(0, 0, 800, 800);
        add(ST);
       
        Start = new JButton("START");
        Start.setBounds(600, 350, 300, 50);
        Start.setFont(schriftart);
        Start.addActionListener(this);
        ST.add(Start);
       
        Laden = new JButton("LADEN");
        Laden.setBounds(600, 420, 300, 50);
        Laden.setFont(schriftart);
        Laden.addActionListener(this);
        ST.add(Laden);
       
        Schliessen = new JButton("SCHLIESSEN");
        Schliessen.setBounds(600, 490, 300, 50);
        Schliessen.setFont(schriftart);
        Schliessen.addActionListener(this);
        ST.add(Schliessen);
       
       
    }
   
    @Override
    public void actionPerformed(ActionEvent e) {
       
        if(e.getSource() == Schliessen) {
            this.dispose();
        }
        else if (e.getSource() == Start) {
           
            //
           
           
        }
        else if (e.getSource() == Laden) {
           
            JOptionPane.showMessageDialog(getParent(), "Jetzt wird geladen");
        }
       
    }  
   


}
Funktioniert das so bei dir?
 
K

kneitzel

Gast
Das setVisible(true) an das Ende setzen, wenn alle Elemente hinzugefügt wurden.

Oder alternativ - so Du nach der Anzeige noch Elemente hinzufügen musst: mittels repaint() die neue Darstellung erzwingen. (Teilweise ist auch ein revalidate Aufruf notwendig).
 

Einsal

Mitglied
Anhang anzeigen 14003
Ich hab jetzt die Starten funktion raus, und eine main klasse gemacht die das aufruft, Deine Code Felder sind richtig
Klasse main:
Java:
package programme;

public class main {
  
public static void main(String[]args) {
    Frame frame = new Frame(); 
    }

}
Java:
package programme;

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

import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Frame extends JFrame implements ActionListener{
  
    private JLabel MH;
    private JPanel ST;
    private JButton Start;
    private JButton Laden;
    private JButton Schliessen;
    private Icon Picture2;
  

    public Frame() {
        super ("Game");
      
      
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
        setResizable(false);
      
      
        /*Picture2 = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png");
        MH = new JLabel(Picture2);
        add(MH);*/

        Font schriftart = new Font("Algerian", Font.BOLD , 30);
      
      
      
        ST = new JPanel();
        ST.setBackground(Color.CYAN);
        ST.setLayout(null);
        ST.setBounds(0, 0, 800, 800);
        add(ST);
      
        Start = new JButton("START");
        Start.setBounds(600, 350, 300, 50);
        Start.setFont(schriftart);
        Start.addActionListener(this);
        ST.add(Start);
      
        Laden = new JButton("LADEN");
        Laden.setBounds(600, 420, 300, 50);
        Laden.setFont(schriftart);
        Laden.addActionListener(this);
        ST.add(Laden);
      
        Schliessen = new JButton("SCHLIESSEN");
        Schliessen.setBounds(600, 490, 300, 50);
        Schliessen.setFont(schriftart);
        Schliessen.addActionListener(this);
        ST.add(Schliessen);
      
      
    }
  
    @Override
    public void actionPerformed(ActionEvent e) {
      
        if(e.getSource() == Schliessen) {
            this.dispose();
        }
        else if (e.getSource() == Start) {
          
            //
          
          
        }
        else if (e.getSource() == Laden) {
          
            JOptionPane.showMessageDialog(getParent(), "Jetzt wird geladen");
        }
      
    } 
  


}
Funktioniert das so bei dir?



Damit habe ich den Hintergrund nur in einer Farbe, aber ich möchte das Bild ja als Hintergrund haben und meine JButtons drauf.

Das setVisible(true) an das Ende setzen, wenn alle Elemente hinzugefügt wurden.

Oder alternativ - so Du nach der Anzeige noch Elemente hinzufügen musst: mittels repaint() die neue Darstellung erzwingen. (Teilweise ist auch ein revalidate Aufruf notwendig).

wenn ich setVisible(true) ans Ende mache, ändert sich auch nichts.

wie ich das genau mit repaint() erzwingen kann weis ich leider nicht und was revalidate ist, weis ich nicht, damit beschäftige ich mich jetzt mal :)

Danke erstmal für die Antworten :D
 
K

kneitzel

Gast
Ich habe noch gewisse Probleme, das alles zu verstehen. Ist evtl. das Problem, dass mehrere Elemente sich gegenseitig überlappen?

Wenn Du den auskommentierten Code mit dem JLabel MH aktivierst, dann dürfte das Label ja im Anschluss durch das JPanel verdeckt werden. Daher wäre es wichtig, dass man da den Baum mit den Elementen entsprechend anpasst (also z.B. so ein Label dann in das JPanel packen? Habe mir die ganze Struktur aber nicht im Detail angesehen) oder ggf. die Reihenfolge des Hinzufügens anpasst.
 

Einsal

Mitglied
Java:
deinecontentpaneoderlayout.repaint();
deinecontentpaneoderlayout.revalidate();
;)

Danke
leider bringt das auch nichts.
nutze ich repaint, ändert sich nichts, der Hintergrund bleibt grau, keine Hintergrundbild und auch keine Buttons.
bei revalidate kommt zumindest beides zur hälfte, wie auf den Bild zu sehen
Unbenannt.jpg

ich verstehe nur nicht warum es in der neuesFenster Class funktioniert und in der Frame Class nicht.
schauen für mich vom Code fast identisch aus
 

Einsal

Mitglied
Ich habe noch gewisse Probleme, das alles zu verstehen. Ist evtl. das Problem, dass mehrere Elemente sich gegenseitig überlappen?

Wenn Du den auskommentierten Code mit dem JLabel MH aktivierst, dann dürfte das Label ja im Anschluss durch das JPanel verdeckt werden. Daher wäre es wichtig, dass man da den Baum mit den Elementen entsprechend anpasst (also z.B. so ein Label dann in das JPanel packen? Habe mir die ganze Struktur aber nicht im Detail angesehen) oder ggf. die Reihenfolge des Hinzufügens anpasst.

Ja das war mein Fehler, der auskommentierte Code ist dann natürlich drin und das JPanle add ich zu den JLabel

Hier nochmal der richtige Code

Code:
package Game;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
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;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Frame extends JFrame implements ActionListener{
    
    private JLabel MH;
    private JPanel ST;
    private JButton Start;
    private JButton Laden;
    private JButton Schliessen;
    //private Icon Picture2;
    
    public Frame() {
        super ("Game");
        
        
        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
        setResizable(false);
        
        
        Icon Picture2 = new ImageIcon("C:\\Users\\Theristoph\\Documents\\Programme Java\\Game\\Wald.png");
        MH = new JLabel(Picture2);
        add(MH);

        Font schriftart = new Font("Algerian", Font.BOLD , 30);
        

        
        ST = new JPanel();
       // ST.setBackground(Color.CYAN);
        ST.setLayout(null);
        ST.setBounds(0, 0, 800, 800);
        MH.add(ST);
        
        Start = new JButton("START");
        Start.setBounds(600, 350, 300, 50);
        Start.setFont(schriftart);
        Start.addActionListener(this);
        ST.add(Start);
        
        Laden = new JButton("LADEN");
        Laden.setBounds(600, 420, 300, 50);
        Laden.setFont(schriftart);
        Laden.addActionListener(this);
        ST.add(Laden);
        
        Schliessen = new JButton("SCHLIESSEN");
        Schliessen.setBounds(600, 490, 300, 50);
        Schliessen.setFont(schriftart);
        Schliessen.addActionListener(this);
        ST.add(Schliessen);
        
        MH.revalidate();
    }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
        if(e.getSource() == Schliessen) {
            this.dispose();
        }
        else if (e.getSource() == Start) {
            
            NeuesFenster F = new NeuesFenster();
            this.dispose();
            
            
        }
        else if (e.getSource() == Laden) {
            
            JOptionPane.showMessageDialog(getParent(), "Jetzt wird geladen");
        }

    }   
}
 

mihe7

Top Contributor
Also, ich verstehe das Problem nicht ganz. Du willst ein JPanel haben, das im Hintergrund ein Bild anzeigt. Quick & Dirty sieht eine Implementierung dazu so aus:
Java:
import java.awt.Image;
import java.awt.Graphics;
import javax.swing.JPanel;

public class ImagePanel extends JPanel {
    private Image image;

    public void setBackground(Image image) {
        this.image = image;
        repaint();
    }

    @Override
    protected void paintComponent(Graphics g) {
        if (image != null) {
            g.drawImage(image, 0, 0, null);
        }
    }
}

Diese Klasse kannst Du nun überall verwenden, wie jedes andere JPanel auch, z. B.
Java:
import java.awt.*;
import java.net.*;
import java.io.IOException;
import javax.imageio.*;
import javax.swing.*;

public class Test {

    public void run() {
        ImagePanel panel = new ImagePanel();

        JPanel buttons = new JPanel(new GridLayout(0,1,0,50));
        buttons.setOpaque(false); // Hintergrund des Panels nicht zeichnen
        for (int i = 0; i < 5; i++) {
            buttons.add(new JButton("Button " + (i+1)));
        }

        JTextField urlField = new JTextField(50);
        urlField.addActionListener(e -> {
            try {
                URL url = new URL(urlField.getText());
                panel.setBackground(ImageIO.read(url));
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        });

        panel.setLayout(new BorderLayout());
        panel.add(buttons);
        panel.add(urlField, BorderLayout.SOUTH);

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.add(panel);
        frame.setSize(800, 600);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().run());
    }
}

Wenn Du in das Textfeld eine URL eingibst und mit Return bestätigst, wird das Hintergrundbild gesetzt, z. B. liefert https://upload.wikimedia.org/wikipe...docia_Balloon_Inflating_Wikimedia_Commons.JPG folgendes:
Bildschirmfoto von »2020-09-03 00:00:28«.png
 

Einsal

Mitglied
Vielen Dank für eure Mühe die ihr euch gemacht habt, ich finde es super das man als Anfänger so viel Hilfe von euch bekommt.
Ich habe es jetzt Dank euch endlich hin bekommen. Mein JPanel hatte nicht die richtigen Werte, ich habe .setOpaque(false); vergessen und mit der .revalidate(); habe ich jetzt auch in dieser Class es geschafft das Hintergrundbild anzuzeigen.

Vielen Dank noch einmal 👍👍👍:D:D:D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
A Aktualisierung eines Buttons Java Basics - Anfänger-Themen 18
S Runde Buttons erstellen Java Basics - Anfänger-Themen 10
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
T Buttons... Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
L Buttons außerhalb der sichtbaren Activity Java Basics - Anfänger-Themen 8
E Hilfe bei Buttons (GUI) Java Basics - Anfänger-Themen 3
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
L Buttons ansprechen Java Basics - Anfänger-Themen 1
F Mehrfaches Clicken eines Buttons Java Basics - Anfänger-Themen 1
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
H Java Buttons ausblenden bei inaktivität Java Basics - Anfänger-Themen 1
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
M Icons auf Buttons Java Basics - Anfänger-Themen 9
S Variablen Variable bei drücken eines Buttons ändern Java Basics - Anfänger-Themen 1
M Buttons funktionieren nicht Java Basics - Anfänger-Themen 4
lord239123 Buttons werden nicht angezeigt Java Basics - Anfänger-Themen 3
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
W Buttons sollen bei Mausklick einen String schreiben Java Basics - Anfänger-Themen 11
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
J BlueJ canvas Buttons adden? Java Basics - Anfänger-Themen 2
U Methoden Methode zur Erstellung von Buttons Java Basics - Anfänger-Themen 11
H Icons in Buttons resizable? Java Basics - Anfänger-Themen 3
C Buttons über Textfeld beschriften Java Basics - Anfänger-Themen 10
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
A Dropdown Liste - mit je zwei Verlinkungen und zwei ausführende Buttons Java Basics - Anfänger-Themen 3
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
S Hilfe bei Buttons Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
H Methode aufrufen beim Drücken eines Buttons im Boxlayout Java Basics - Anfänger-Themen 6
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
K Durch ändern eines Buttons String füllen Java Basics - Anfänger-Themen 14
J Buttons Java Basics - Anfänger-Themen 19
G Buttons in ein Array umformen Java Basics - Anfänger-Themen 11
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
B Buttons Java Basics - Anfänger-Themen 9
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
1 Menü mit Buttons erstellen Java Basics - Anfänger-Themen 10
M Durchsichtige Buttons Java Basics - Anfänger-Themen 12
P OnClickListener für mehrere Buttons Java Basics - Anfänger-Themen 5
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
M Gui - Probleme mit Buttons Java Basics - Anfänger-Themen 4
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
E Android: OnClickListener erkennt Buttons nicht Java Basics - Anfänger-Themen 7
E Buttons in Android generieren? Java Basics - Anfänger-Themen 4
D Link over Buttons Java Basics - Anfänger-Themen 4
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
Nicer Radio Buttons Gruppe Java Basics - Anfänger-Themen 2
G getControlPanelComponent JMF Buttons verstecken? Java Basics - Anfänger-Themen 7
K Buttons Funktionieren Nicht!!! Java Basics - Anfänger-Themen 8
manunana89 2 ActionListener auf 2 Buttons??? Java Basics - Anfänger-Themen 6
Mike90 verschieben von Buttons, ... Java Basics - Anfänger-Themen 18
F Buttons und Aktionen Java Basics - Anfänger-Themen 20
M dynamisches Clipboard mit Buttons Java Basics - Anfänger-Themen 5
H Buttons um sprache zu ändern. Java Basics - Anfänger-Themen 6
B Calculator - Buttons zusammenfassen Java Basics - Anfänger-Themen 8
0 Buttons mit Absatz Java Basics - Anfänger-Themen 6
B Buttons erstellen! Wie? Java Basics - Anfänger-Themen 2
D Buttons-die Wahrheit über sie Java Basics - Anfänger-Themen 11
G Buttons mit MouseOver Java Basics - Anfänger-Themen 5
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
Mörmel Variable Anzahl von Buttons erzeugen Java Basics - Anfänger-Themen 6
K Fenster mit Buttons hin und her schieben ? Java Basics - Anfänger-Themen 23
A in jTextField mit Hilfe von Buttons schreiben Java Basics - Anfänger-Themen 2
J Buttons Java Basics - Anfänger-Themen 3
M Buttons auf allen Masken Java Basics - Anfänger-Themen 4
G Alle Buttons in einer For Schleife ändern Java Basics - Anfänger-Themen 5
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
T Buttons Resetten Java Basics - Anfänger-Themen 2
G Grafische Oberfläche mit Buttons und Actionlistener? Java Basics - Anfänger-Themen 27
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
P Buttons Java Basics - Anfänger-Themen 6
G Panels und Buttons Java Basics - Anfänger-Themen 5
P Eigenschaften eines Buttons ändern Java Basics - Anfänger-Themen 6
M Buttons Java Basics - Anfänger-Themen 7
N Größe von Buttons Java Basics - Anfänger-Themen 3
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10
F 2 Buttons Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben