Basically, I am making an application that represents a pokedex from the game pokemon. I am trying to add a background image, however only a small portion of the image appears on the screen. Please help :P
package window;
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class RunWindow extends Canvas implements Runnable{
private static final long serialVersionUID = 1L;
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public static final int SCALE = 1;
public static final String NAME = "Pokedex";
public int pokedexNum = 1;
public String pokedexName = "Bulbasaur";
private JFrame frame;
private JPanel panel = new JPanel();
private JButton b1;
private JButton b2;
private boolean update = true;
private JButton imageButton;
private ImageIcon image;
private ImageIcon image2;
private ImageIcon image3;
private ImageIcon image4;
private ImageIcon image5;
private ImageIcon image6;
private ImageIcon image7;
private ImageIcon image8;
private ImageIcon image9;
private ImageIcon image10;
private ImageIcon image11;
private ImageIcon image12;
private ImageIcon image13;
private ImageIcon image14;
private ImageIcon image15;
private ImageIcon image16;
private ImageIcon image17;
private ImageIcon image18;
private ImageIcon image19;
private ImageIcon image20;
JLabel label;
JLabel label2;
public boolean running = false;
public JButton Loading = new JButton();
public RunWindow(){
//Pokemon image album 1 at http://imgur.com/a/qIQWh
//Pokemon image album 2 at http://imgur.com/a/vmyT4
do {
switch(pokedexNum){
case 1:
pokedexName = "Bulbasaur";
break;
}
label = new JLabel("Pokemon #"+pokedexNum+"-"+pokedexName);
label2 = new JLabel("#"+pokedexNum);
update = false;
}while (update);
label.setLocation(50, 50);
frame = new JFrame(NAME);
try {
frame.setContentPane(new JLabel(new ImageIcon(new URL("http://imgur.com/Stwz5th.png"))));
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
frame.add( label, BorderLayout.NORTH );
frame.add( panel , BorderLayout.CENTER);
b1 = new JButton("Loading...");
b2 = new JButton("Loading...");
frame.setMinimumSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
frame.setPreferredSize(new Dimension(WIDTH*SCALE,HEIGHT*SCALE));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(Loading);
frame.add(this,BorderLayout.CENTER);
frame.setResizable(false);
frame.add(label);
frame.add(label2);
frame.add(panel);
frame.add(b1);
frame.add(b2);
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
try
{
image = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/hDvTgbj.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image2 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/XjkNmIM.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image3 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/R9pYwq4.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image4 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/yQ6TRUi.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
} try
{
image5 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/mmi8WLt.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image6 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image7 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/YRjfZQ9.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image8 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/gEjKqxQ.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image9 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/4JwkcH6.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image10 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/bCXo6Og.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image11 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/9HZYYRr.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image12 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/4O9hVAU.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image13 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/zM6gAsQ.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image14 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/WPu06mc.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image15 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/UcF9ho4.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image16 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image17 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image18 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image19 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
try
{
image20 = new ImageIcon(ImageIO.read(
new URL("http://i.imgur.com/SqPhick.png")));
}
catch(MalformedURLException mue)
{
mue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
imageButton = new JButton("");
imageButton.setIcon(image);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pokedexNum < 15){
pokedexNum++;
switch(pokedexNum){
case 1:
pokedexName = "Bulbasaur";
imageButton.setIcon(image);
break;
case 2:
pokedexName = "Ivysaur";
imageButton.setIcon(image2);
break;
case 3:
pokedexName = "Venisaur";
imageButton.setIcon(image3);
break;
case 4:
pokedexName = "Charmander";
imageButton.setIcon(image4);
break;
case 5:
pokedexName = "Charmeleon";
imageButton.setIcon(image5);
break;
case 6:
pokedexName = "Charizard";
imageButton.setIcon(image6);
break;
case 7:
pokedexName="Squirtle";
imageButton.setIcon(image7);
break;
case 8:
pokedexName="Wartortle";
imageButton.setIcon(image8);
break;
case 9:
pokedexName="Blastoise";
imageButton.setIcon(image9);
break;
case 10:
pokedexName="Caterpie";
imageButton.setIcon(image10);
break;
case 11:
pokedexName="Metapod";
imageButton.setIcon(image11);
break;
case 12:
pokedexName="ButterFree";
imageButton.setIcon(image12);
break;
case 13:
pokedexName="Weedle";
imageButton.setIcon(image13);
break;
case 14:
pokedexName="Kakuna";
imageButton.setIcon(image14);
break;
case 15:
pokedexName="Beedrill";
imageButton.setIcon(image15);
break;
case 16:
pokedexName="Pidgey";
imageButton.setIcon(image6);
break;
case 17:
pokedexName="Pidgeotto";
imageButton.setIcon(image6);
break;
case 18:
pokedexName="Pidgeot";
imageButton.setIcon(image6);
break;
case 19:
pokedexName="Ratatta";
imageButton.setIcon(image6);
break;
case 20:
pokedexName="Raticate";
imageButton.setIcon(image6);
break;
}
update = false;
label.setText("Pokemon #"+pokedexNum+"-"+pokedexName);
label2.setText("#"+pokedexNum);
}
}
} );
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(pokedexNum > 1){
pokedexNum--;
switch(pokedexNum){
case 1:
pokedexName = "Bulbasaur";
imageButton.setIcon(image);
break;
case 2:
pokedexName = "Ivysaur";
imageButton.setIcon(image2);
break;
case 3:
pokedexName = "Venisaur";
imageButton.setIcon(image3);
break;
case 4:
pokedexName = "Charmander";
imageButton.setIcon(image4);
break;
case 5:
pokedexName = "Charmeleon";
imageButton.setIcon(image5);
break;
case 6:
pokedexName = "Charizard";
imageButton.setIcon(image6);
break;
case 7:
pokedexName="Squirtle";
imageButton.setIcon(image7);
break;
case 8:
pokedexName="Wartortle";
imageButton.setIcon(image8);
break;
case 9:
pokedexName="Blastoise";
imageButton.setIcon(image9);
break;
case 10:
pokedexName="Caterpie";
imageButton.setIcon(image10);
break;
case 11:
pokedexName="Metapod";
imageButton.setIcon(image11);
break;
case 12:
pokedexName="ButterFree";
imageButton.setIcon(image12);
break;
case 13:
pokedexName="Weedle";
imageButton.setIcon(image13);
break;
case 14:
pokedexName="Kakuna";
imageButton.setIcon(image14);
break;
case 15:
pokedexName="Beedrill";
imageButton.setIcon(image15);
break;
case 16:
pokedexName="Pidgey";
imageButton.setIcon(image6);
break;
case 17:
pokedexName="Pidgeotto";
imageButton.setIcon(image6);
break;
case 18:
pokedexName="Pidgeot";
imageButton.setIcon(image6);
break;
case 19:
pokedexName="Ratatta";
imageButton.setIcon(image6);
break;
case 20:
pokedexName="Raticate";
imageButton.setIcon(image6);
break;
}
update = false;
label.setText("Pokemon #"+pokedexNum+"-"+pokedexName);
label2.setText("#"+pokedexNum);
}
}
} );
b1.setBounds(300, 400, 40, 20);
b2.setBounds(300, 420, 40, 20);
b1.setHorizontalTextPosition(JButton.CENTER);
b1.setVerticalTextPosition(JButton.CENTER);
label.setBounds(300, 50, 200, 24);
label2.setBounds(340,400,80,20);
frame.add(imageButton);
imageButton.setBounds(350,300,64,64);
frame.add( label, BorderLayout.NORTH );
frame.add( panel , BorderLayout.CENTER);
}
public void run() {
}
public synchronized void start(){
running = true;
new Thread(this).start();
}
public synchronized void stop(){
running = false;
}
public static void main(String[] args){
new RunWindow().start();
}
}