Bild laden

Hi Community,
ich bin gerade dabei ein Programm zu schreiben. Ich möchte gerne ein bild in einem JPanel laden lassen aber das funktioniert leider nicht so richtig ;( . Wenn ich das JFrame minimiere und wieder maximiere ist zwar das bild da aber die JButtons auf dem JPanel sind oben in der Mitte auf dem JPanel. hat vielleicht jemand eine Ahnung woran das liegen könnte?

Hier der Code:
Java:
package de.TheCubeCrafter.screen;

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import de.TheCubeCrafter.Components.GUIPanel;

public class Menu{
	
	final JButton btn_singleplayer = new JButton("Singelplayer");
	final JButton btn_settings = new JButton("Settings");
	final JButton btn_exit = new JButton("Exit");
	
//	private static ImageIcon[] background = {new ImageIcon("images/Background.png")};
//	final JLabel jl_background = new JLabel(background[0]);
	
	private GUIPanel menu = new GUIPanel((Toolkit.getDefaultToolkit().getImage("images/Background.png")));
	
	public Menu(){
		
//		Image background = ImageIO.read(getClass().getResource("Background.png"));
		
		ActionListener action = new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent click) {
				if(click.getSource() == btn_singleplayer){
					remove();
					new GameSettings();
				}
				else if(click.getSource() == btn_settings){
					remove();
					new Settings();
				}
				else if(click.getSource() == btn_exit){
					System.exit(1);
				}
			}
			
		};
		
		
//		jl_background.setBounds(0, 0, 960, 540);
//		Frame.frame.add(jl_background);
		
		menu.setBounds(0, 0, 960, 540);
		Frame.frame.add(menu);

		
		btn_singleplayer.setBounds(355, 150, 250, 50);
		btn_settings.setBounds(355, 250, 250, 50);
		btn_exit.setBounds(355, 350, 250, 50);
		
		btn_singleplayer.addActionListener(action);
		btn_settings.addActionListener(action);
		btn_exit.addActionListener(action);
		
		menu.add(btn_singleplayer);
		menu.add(btn_settings);
		menu.add(btn_exit);
		
		Frame.frame.repaint();
	}
	void remove(){
		Frame.frame.remove(btn_singleplayer);
		Frame.frame.remove(btn_settings);
		Frame.frame.remove(btn_exit);
		
		Frame.frame.repaint();
	}
}

Java:
package de.TheCubeCrafter.Components;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;

public class GUIPanel extends JPanel {
	
	private static final long serialVersionUID = 1L;
	private Image image;
	 
    public GUIPanel(Image image) {
        this.image = image;
        repaint();
    }
    
    public void paintComponent(Graphics g) {
        g.drawImage(image, 0, 0, null);
    }
	
}

Ich hoffe ihr könnt mir helfen.

Danke im voraus
TheCubeCrafter
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
waren die Buttons auch vorher dort?
nach den setBounds() kann ich mir kaum eine andere Position vorstellen,
was wünschst du dir denn anders?

das Bild sollte vielleicht besser von Anfang an zu sehen sein, da gibts noch andere Wege zu laden,
ich kann mir immer nur
new ImageIcon(file).getImage()
merken

generell wäre ein vollständiges Programm hilfreich, wie sieht das ominöse Frame.frame aus,
wann wird das Menu erstellt usw.
 
Hi SlaterB,

das mit dem bild laden durch new ImageIcon(file).getImage() funktioniert jetzt aber wenn ich es minimiere und maximiere verschieben sich die buttons immer noch nach oben. Hast du da vielleicht noch eine Idee dafür?

Ach ja hier ist noch das Frame:

Java:
package de.TheCubeCrafter.screen;

import javax.swing.JFrame;

public class Frame {
	
	public static JFrame frame = new JFrame();
	
	public Frame(){
		frame.setBounds(0, 0, 960, 540);
		frame.setLayout(null);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setResizable(false);
		frame.setUndecorated(true);
		
		frame.setVisible(true);
	}

}

TheCubeCrafter
 
S

SlaterB

Gast
auf welche Weise kommt wann das Menu dazu?
und wie schon gefragt was sagst du zu den Positionen der Buttons, wo waren sie vorher,
passt das zu den setBounds-Befehlen, gehen sie woanders hin wenn du die änderst,

und wohin verschieben sie sich, versuche mit anderen setBounds-Werten herauszufinden, welcher Position das entspricht,
beschreibe es irgendwie genauer mit Worten,

ein ausführbares Testprogramm wäre immer noch günstig
 
Also das menü kommt direkt beim starten des programms dazu. Zuerst wird das JFrame erzeugt und dann das Menü.
Die Buttons bewegen sich wenn ich die werte in dem setBounds befehl ändere.
Die buttons waren vorher nicht woanders sonden wurden in der Klasse erzeut.
Das mit der Position der buttons passt am anfang ja schon aber nach dem minimieren halt nicht mehr.
Der Exit button bewegt sich von x=355,y=350,width=250,height=50 (wie im code vorgegeben) nach x=550,y=5,width=55,height=26. Dabei verändert er auch noch seine größe.
Im Code ist aber auch nichts vermerkt, dass er nach einer minimierung die position ändern soll. ???:L

Ich glaube bilder sind hier auch angebracht
 

Anhänge

  • vorher.jpg
    vorher.jpg
    127,5 KB · Aufrufe: 44
  • nachher.jpg
    nachher.jpg
    127,8 KB · Aufrufe: 42
S

SlaterB

Gast
ach ja, das menu-Panel, also GUIPanel, braucht besser auch ein null-Layout,
zum Anfang wird eher fehlerhaft von dir eine Layout-Berechnung noch vermieden, mit Min/Max kommt es dann dazu
 
Moin,
Danke jetzt funktioniert alles super!! :toll:
Da hätte ich aber auch selbst drauf kommen können ist ja schließlich so wie beim JFrame. Naja ist halt nen Anfängerfehler.

TheCubeCrafter
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Bild aus Bereich laden Java Basics - Anfänger-Themen 3
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
K Transparents Bild laden -> Fehlermeldung Java Basics - Anfänger-Themen 6
S BMP Bild laden Java Basics - Anfänger-Themen 7
R In jLable Bild aus URL laden Java Basics - Anfänger-Themen 9
M Resourcen richtig laden (Bild, Musik) Java Basics - Anfänger-Themen 2
A Bild aus .jar-Laden Java Basics - Anfänger-Themen 5
D Bild aus Internet laden und in Programm anzeigen Java Basics - Anfänger-Themen 5
Mal Bild Datei mit Tags von Website laden Java Basics - Anfänger-Themen 9
G Grundlagen Bild laden und zeichen (anzeigen) Java Basics - Anfänger-Themen 2
U Bild laden. Java Basics - Anfänger-Themen 5
F Bild einmal aus Datei laden und in Klasse speichern Java Basics - Anfänger-Themen 3
S Bild aus Ordner laden Java Basics - Anfänger-Themen 9
G Jpg Bild im Applet laden Java Basics - Anfänger-Themen 4
U Bild laden Java Basics - Anfänger-Themen 5
K Bild in Image-Objekt laden Java Basics - Anfänger-Themen 27
G Hilfe eifaches Bild laden Java Basics - Anfänger-Themen 5
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50
S Bild einfügen Java Basics - Anfänger-Themen 16
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
D Bild zu Text Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
D Classpath Bild kann in .jar nicht geladen werden Java Basics - Anfänger-Themen 2
Anfänger2011 Bild programmieren?! Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
S Bild in JOptionPane Java Basics - Anfänger-Themen 1
C Abfrage nach einem Bild im Array Java Basics - Anfänger-Themen 9
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
J Bild loopen Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
S Bild bei Kontakt ändern Java Basics - Anfänger-Themen 2
C Erste Schritte Bild holen und speichern Java Basics - Anfänger-Themen 1
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
F Bild in ein Runnable Jar File packen (eclipse) Java Basics - Anfänger-Themen 2
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
J Ganzes Bild Java Basics - Anfänger-Themen 4
T GUI anstatt Bild schwarzes Rechteck gespeichert Java Basics - Anfänger-Themen 0
A Bild verschwindet! Wieso?? Java Basics - Anfänger-Themen 2
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
Y Nach Bild-Upload wird Bild nicht angezeigt Java Basics - Anfänger-Themen 1
M Button mit Bild und Text Java Basics - Anfänger-Themen 2
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
Sogomn Bild will sich nicht skalieren lassen Java Basics - Anfänger-Themen 1
P Ein Bild für GUI (Java-Editor) Java Basics - Anfänger-Themen 4
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
S Bild auf eine Position rotieren?! Java Basics - Anfänger-Themen 4
P Bild bearbeiten Java Basics - Anfänger-Themen 9
Z Datenmatrix in Bild verwandeln Java Basics - Anfänger-Themen 4
C Bild verschwinden lassen Java Basics - Anfänger-Themen 7
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
E Bild vom FileChooser aus via ImageIcon in DB schreiben Java Basics - Anfänger-Themen 16
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
O Auflösung einer Bild-Datei bekommen ohne sie herunterzuladen?? Java Basics - Anfänger-Themen 7
L Bild-Datein "zuschneiden" Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben