Hallo, ich bin gerade dabei Java zu lernen, jedoch bleibe ich immer an einem bestimmten Punkt stecken.
Ich kann den Hintergrund meines Jframe nicht ändern.
Ich habe eine Gui- und eine frameKlasse.
Hier der Code der beiden Klassen:
Klasse mit dem frame:
Klasse mit dem Gui:
Ich kann den Hintergrund meines Jframe nicht ändern.
Ich habe eine Gui- und eine frameKlasse.
Hier der Code der beiden Klassen:
Klasse mit dem frame:
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class frame extends JFrame implements ActionListener{
private JButton schließen;
private JButton einstellungen;
private JButton info;
private JButton ende;
public static void main(String[] args){
//erledigt grobe Einstellungen am frame
frame frame = new frame("Jump to the moon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setLayout(null);
frame.setResizable(false);
frame.setVisible(true);
}
public frame(String title){
/*Der "Spiel starten"-Knopf wird erstellt
* und im JFrame eingebaut
*/
super(title);
schließen = new JButton("Spiel starten");
schließen.setBounds(120,40,160,40);/*120, 40 ist die Position und 160, 40 die Größe *
*120 ist der Abstand links und rechts und
*40 ist der Abstand oben und unten
*/
schließen.addActionListener(this);
add(schließen);
einstellungen = new JButton("Einstellungen");
einstellungen.setBounds(120,120,160,40);
einstellungen.addActionListener(this);
add(einstellungen);
info = new JButton("Credits");
info.setBounds(120,200,160,40);
info.addActionListener(this);
add(info);
ende = new JButton("Spiel schließen");
ende.setBounds(120,280,160,40);
ende.addActionListener(this);
add(ende);
}
//Wenn der Button schließen gedrückt wird, soll das Spiel gestartet werden.
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == schließen){
fenster();
}
if(e.getSource() == info){
Object[] option = { "OKAY"};
JOptionPane.showOptionDialog(null, "Programmiert von: Tim", "InfoBox", JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,option,option[0]);
}
if(e.getSource() == einstellungen){
auswahl();
}
if(e.getSource() == ende){
//Programm wird geschlossen
System.exit(0);
}
}
public static void auswahl() {
}
public static void fenster() {
JFrame fenster = new JFrame("Jump to the moon");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(1300, 878);
fenster.setLayout(null);
fenster.add(new gui());
fenster.setVisible(true);
}
}
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
@SuppressWarnings("serial")
public class gui extends JPanel implements ActionListener{
Timer time;
int gedrückt;
Image img;
int lauf;
int X_Bild;
public gui(){
gedrückt = 0;
lauf = 0;
//Mit setFocusable kann man auf die Datei zugraeifen und bearbeiten
setFocusable(true);
ImageIcon u = new ImageIcon("C:/Users/tim/Desktop/JavaProgramme/abend.jpg");
img = u.getImage();
addKeyListener(new AL());
time = new Timer(5, this);
time.start();
}
public void bewegen(){
X_Bild += lauf;
}
public void actionPerformed(ActionEvent e){
bewegen();
repaint();
}
//Hiermit kann man die Datei bearbeiten
public void paint(Graphics g){
super.paint(g);
Graphics2D f2 = (Graphics2D) g;
f2.drawImage(img, X_Bild, 0, null);
}
private class AL extends KeyAdapter{
public AL(){
}
public void keypressed(KeyEvent e){
gedrückt = e.getKeyCode();
if(gedrückt == KeyEvent.VK_SPACE){
}
if(gedrückt == KeyEvent.VK_LEFT){
}
if(gedrückt == KeyEvent.VK_RIGHT){
}
}
public void keyReleased(KeyEvent e){
gedrückt = e.getKeyCode();
if(gedrückt == KeyEvent.VK_LEFT || gedrückt == KeyEvent.VK_RIGHT){
lauf = 0;
}
}
}
}
Zuletzt bearbeitet von einem Moderator: