mardi 26 mai 2015

Button wird nicht angezeigt

Arbeite mich gerade in die GUI Programmierung ein. Und statt eines KeyListeners, wollte ich erstmal über einen Button meinen "Spieler" , also einen Balken steuern, siehe Bild. Bewegen kann ich ihn auch, aber der Button wird mir nicht angezeigt, was mich verwirrt. Auch die von mir eingestellte Hintergrundfarbe die, bevor ich es zum laufen bekam, gelb war, ist nun weiß. Wo liegt mein Fehler? Bitte auch um Korrektur!

Java Code:

  1.  
  2. package game;
  3. import javax.swing.*;
  4. import java.util.*;
  5. import java.applet.*;
  6. import java.awt.event.*;
  7. import java.awt.*;
  8.  
  9. public class Spiel extends JPanel implements ActionListener
  10. {
  11. JFrame fenster;
  12. JButton test;
  13. int A_Y = 150; // Höhenregler Spieler A
  14. int B_Y = 150; // Höhenregler Spieler B
  15.  
  16.  
  17. Spiel()
  18. { fenster = new JFrame();
  19. fenster.add(this);
  20. fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. fenster.setExtendedState(JFrame.MAXIMIZED_BOTH);
  22. fenster.pack();
  23. fenster.setBackground(Color.yellow);
  24. fenster.setVisible(true);
  25.  
  26. //Komponenten
  27. test = new JButton();
  28. fenster.add(test);
  29. test.setBounds(400,500,500,500);
  30. test.setVisible(true);
  31. test.addActionListener(this);
  32. }
  33.  
  34.  
  35. protected void paintComponent( Graphics g){
  36. this.g = g;
  37. int ha = A_Y;
  38. int hb = B_Y;
  39. g.clearRect(0,0,this.getWidth(),this.getHeight());
  40. g.drawRect(20,ha,50,150);
  41. g.drawRect(1600,hb,50,150);
  42. repaint();
  43.  
  44.  
  45.  
  46. }
  47.  
  48. public void actionPerformed(ActionEvent e)
  49. { if(e.getSource() == this.test){
  50.  
  51.  
  52. A_Y = A_Y + 30;
  53. repaint();
  54.  
  55.  
  56. }
  57.  
  58.  
  59.  
  60.  
  61.  
  62. }
  63. }
Miniaturansichten angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht  Name: bild 2.jpg  Hits: -  Größe: 27,4 KB  ID: 7808  


Button wird nicht angezeigt

0 commentaires:

Enregistrer un commentaire