mastermindzh
Verenigingslid
- Lid geworden
- 10 dec 2008
- Berichten
- 4.993
Wat ik wil is simpel.
Een jframe met een achtergrondje, en daar wat leuke buttons op
Ik heb nu deze code:
[JS]package spaceinvaders;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.io.*;
import javax.imageio.*;
public class MainMenu {
/**
* @param args
*/
public void run() {
// create jframe
JFrame f = new JFrame("Space Invaders ~ Main Menu");
// load an image
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
InputStream input = classLoader
.getResourceAsStream("images/background.png");
try {
f.setContentPane(new JLabel(new ImageIcon(ImageIO.read(input))));
} catch (IOException e) {
System.out.println("Background image can't be found");
}
// set jframe properties
f.setResizable(false);
f.setSize(800, 600);
f.pack();
// center the frame
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
f.setLocation(dim.width / 2 - f.getSize().width / 2,
dim.height / 2 - f.getSize().height / 2);
// button
JButton button = new JButton();
try {
Image img = ImageIO.read(getClass().getResource(
"/images/gamebackground.png"));
button.setIcon(new ImageIcon(img));
} catch (IOException ex) {
}
button.setPreferredSize(new Dimension(250, 250));
f.add(button);
f.setVisible(true);
}
public MainMenu() {
run();
}
}
[/JS]
Als ik dit uitvoer komt het scherm prima voor de dag (met achtergrond), maar de button is nergens te vinden.
Kan iemand mij uitleggen wat er verkeerd gaat?
Een jframe met een achtergrondje, en daar wat leuke buttons op

Ik heb nu deze code:
[JS]package spaceinvaders;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.io.*;
import javax.imageio.*;
public class MainMenu {
/**
* @param args
*/
public void run() {
// create jframe
JFrame f = new JFrame("Space Invaders ~ Main Menu");
// load an image
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
InputStream input = classLoader
.getResourceAsStream("images/background.png");
try {
f.setContentPane(new JLabel(new ImageIcon(ImageIO.read(input))));
} catch (IOException e) {
System.out.println("Background image can't be found");
}
// set jframe properties
f.setResizable(false);
f.setSize(800, 600);
f.pack();
// center the frame
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
f.setLocation(dim.width / 2 - f.getSize().width / 2,
dim.height / 2 - f.getSize().height / 2);
// button
JButton button = new JButton();
try {
Image img = ImageIO.read(getClass().getResource(
"/images/gamebackground.png"));
button.setIcon(new ImageIcon(img));
} catch (IOException ex) {
}
button.setPreferredSize(new Dimension(250, 250));
f.add(button);
f.setVisible(true);
}
public MainMenu() {
run();
}
}
[/JS]
Als ik dit uitvoer komt het scherm prima voor de dag (met achtergrond), maar de button is nergens te vinden.
Kan iemand mij uitleggen wat er verkeerd gaat?