Hej alle!
- Jeg er igang med at lave noget GUI med et vindue og et billede, som man skal kunne rykke rundt med, via piletasterne.. Jeg har lavet hele koden, men det er som om min KeyListener klasse ikke fungere med programmet, så billedet står bare stille, ligegyldig hvad man trykker..
What to do? o.O
Main class
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JButton;
- import javax.swing.JOptionPane;
- import javax.swing.JLabel;
- import javax.swing.ImageIcon;
-
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
-
- public class Main
- {
- public static void main(String args[])
- {
- JFrame f = new JFrame("Awesome 2D Game - Rohde");
- f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-
- Grafik g = new Grafik();
- f.add(g);
-
- Keyboard k = new Keyboard();
-
- f.setVisible(true);
- f.setSize(900, 700);
- }
- }
'
Grafik klasse
- import javax.swing.JPanel;
- import javax.swing.JButton;
- import javax.swing.ImageIcon;
-
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
-
- public class Grafik extends JPanel
- {
- private Image pic;
- int imageX = 350;
- int imageY = 250;
-
- public Grafik()
- {
- this.setLayout(null);
- }
-
- public void reload()
- {
- this.repaint();
- }
-
- public void paintComponent(Graphics g)
- {
- super.paintComponent(g);
- this.setBackground(Color.WHITE);
-
- pic = new ImageIcon("C://Users//Rohde//Aim.png").getImage();
-
- g.drawImage(pic, imageX, imageY, null);
- }
-
- }
Keyboard klasse
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
-
- public class Keyboard implements KeyListener
- {
- Grafik grafik = new Grafik();
-
- public void keyPressed(KeyEvent event)
- {
- char c = event.getKeyChar();
-
- if(c == event.VK_UP)
- {
- grafik.imageY--;
- grafik.reload();
- }
- else if(c == event.VK_DOWN)
- {
- grafik.imageY++;
- grafik.reload();
- }
- else if(c == event.VK_LEFT)
- {
- grafik.imageX++;
- grafik.reload();
- }
- else if(c == event.VK_RIGHT)
- {
- grafik.imageX--;
- grafik.reload();
- }
- }
-
- public void keyReleased(KeyEvent event)
- {
- char c = event.getKeyChar();
- }
-
- public void keyTyped(KeyEvent event)
- {
- char c = event.getKeyChar();
- }
-
- }
Indlæg senest redigeret d. 06.09.2012 17:00 af Bruger #16945