I wonder how i can add my own background and change the ball to a image...
// Klassen Tennisbana import java.awt.*; import java.awt.event.*; import javax.swing.*; class Tennisbana extends JPanel implements ActionListener{ private Timer klocka = new Timer(10, this); private JLabel visaPoäng; // För att visa poäng private int poäng; // Aktuell poäng private int xMax; // högsta tillåtna x-koordinat private int yMax; // högsta tillåtna y-koordinat private int radie; // bollens radie private int x; // x-koordinat, bollens mittpunkt private int y; // y-koordinat, bollens mittpunkt private int vx; // bollens fart i x-led private int vy; // bollens fart i y-led private int xSteg; // bollens steglängd i x-led private int ySteg; // bollens steglängs i y-led private int racket; // rackets vänstra kant private int längdR; // rackets längd private int stegR; // rackets steglängd public Tennisbana(){ setPreferredSize(new Dimension(300,600)); setBackground(Color.black); } public void start(JLabel p){ visaPoäng = p; xMax = getSize().width; yMax = getSize().height; radie = 15; längdR = 80; stegR = 15; nollställ(); // Lyssnar på tangentbordet addKeyListener (new KeyAdapter(){ public void keyPressed(KeyEvent e){ if (e.getKeyCode() == KeyEvent.VK_A){ racket = Math.max(0, racket-stegR); } else if (e.getKeyCode() == KeyEvent.VK_D){ racket = Math.min(xMax-längdR, racket+stegR); } } }); // Lyssnar på storleksändringar addComponentListener(new ComponentAdapter(){ public void componentResized(ComponentEvent e){ xMax = e.getComponent().getSize().width; yMax = e.getComponent().getSize().height; e.getComponent().requestFocus(); repaint(); } }); } public void nollställ(){ poäng = 0; visaPoäng.setText(" 0"); xSteg = vx = 5; ySteg = vy = 5; x = xMax/2; y = radie+2; racket = xMax/2-längdR/2; } public void startaSpel(){ if (poäng < 10){ klocka.start(); } } public void stoppaSpel(){ klocka.stop(); } public void nyttSpel(){ stoppaSpel(); nollställ(); startaSpel(); } // Anropas av timern var 10:e ms public void actionPerformed(ActionEvent e){ if (y+radie >= yMax-4){ if (x < racket || x > racket+längdR){ Toolkit.getDefaultToolkit().beep(); visaPoäng.setText(String.valueOf(++poäng)); if (poäng >= 10){ stoppaSpel(); } } else if (xSteg > 0){ xSteg++; vy++; } else{ xSteg--; vy++; } ySteg = -vy; } else if (y-radie <= 0){ ySteg = vy; } if (x-radie<=0 || x+radie>=xMax){ xSteg = -xSteg; } x += xSteg; y += ySteg; if (y < radie){ y = radie; } else if (y > yMax-radie){ y = yMax-radie; } if (x < radie){ x = radie; } else if (x > xMax-radie){ x = xMax-radie; } repaint(); } // Ritar boll och racket public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.yellow); g.fillOval(x-radie, y-radie, 2*radie, 2*radie); g.setColor(Color.red); g.fillRect(racket, yMax-4, längdR, yMax); } }
i´m not sure if its here i should add the codes but please help
Im from sweden so if you can swedish it would be easier to understand and the comments in the files is on swedish
Thx for the help
Ex67.java
Tennis.java
Tennisbana.java