jeudi 28 mai 2015

GUI Verständnisfrage.

Ich habe ein Frame mit zwei Quadraten --> siehe bild

Der Quellcode lautet:

Java Code:

  1.  
  2.  
  3. package game;
  4. import javax.swing.*;
  5. import java.util.*;
  6. import java.applet.*;
  7. import java.awt.event.*;
  8. import java.awt.*;
  9.  
  10. public class Spiel extends JPanel implements KeyListener
  11. {
  12. JFrame fenster;
  13.  
  14. int A_Y = 150; // Höhenregler Spieler A
  15. int B_Y = 150; // Höhenregler Spieler B
  16.  
  17.  
  18. Spiel()
  19. { fenster = new JFrame();
  20. fenster.add(this);
  21. fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22. fenster.setExtendedState(JFrame.MAXIMIZED_BOTH);
  23. fenster.getContentPane().setBackground(Color.blue);
  24. fenster.addKeyListener(this);
  25. fenster.pack();
  26. fenster.setVisible(true);
  27.  
  28.  
  29. }
  30.  
  31.  
  32. protected void paintComponent( Graphics g){
  33. this.g = g;
  34. int ha = A_Y;
  35. int hb = B_Y;
  36. g.clearRect(0,0,this.getWidth(),this.getHeight());
  37. g.drawRect(50,ha,50,150);
  38. g.fillRect(50,ha,50,150);
  39. g.drawRect(1550,hb,50,150);
  40. g.fillRect(1550,hb,50,150);
  41. repaint();
  42.  
  43.  
  44.  
  45. }
  46.  
  47. public void keyPressed(KeyEvent e)
  48. { if( e.getKeyCode() == 40) // 40 Code für runter
  49. {
  50. B_Y = B_Y + 30;
  51. }
  52.  
  53. if( e.getKeyCode() == 38) // 38 Code für rauf
  54. {
  55. B_Y = B_Y - 30;
  56. }
  57.  
  58.  
  59. if( e.getKeyCode() == 87) // rauf
  60. {
  61. A_Y = A_Y - 30;
  62. }
  63.  
  64.  
  65. if( e.getKeyCode() == 83) // runter
  66. {
  67. A_Y = A_Y + 30;
  68. }
  69.  
  70. }
  71.  
  72. public void keyTyped(KeyEvent e)
  73. {
  74. }
  75.  
  76. public void keyReleased(KeyEvent e)
  77. {
  78. }
  79.  
  80.  
  81.  
  82.  
  83. }


Meine Fragen:

1.) Gibt es eine Möglichkeit für mich eines der Quadrate anzusprechen und ihm eine Farbe zu geben?
Ich möchte generell gerne wissen, wie die Methode paintComponent zwischen 2, oder mehreren Zeichnungen unterscheiden kann.

2.) Ich habe die Background Color auf Blue gestellt und es verändert sich nichts, wieso?

Wäre für auführliche verständliche Antworten sehr dankbar!
Miniaturansichten angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht  Name: Unbenannt.jpg  Hits: -  Größe: 20,1 KB  ID: 7812  


GUI Verständnisfrage.

0 commentaires:

Enregistrer un commentaire