jeudi 14 mai 2015

Taschenrechner in Java

Hallo Freunde!

Ich bin ein Newbie in Java, und habe ein kleines Problem bei dem ich bereits den ganzen Tag an meinem laptop sitze und schon fast verzweifle, vielleicht könnt ihr mir ja helfen!?

Wir sollen einen Taschenrechner programmieren, so einfach wie nur irgend möglich!

soweit auch so gut, JPanel funktioniert einwandfrei, was aber nicht funktioniert ist folgendes:

Die Knöpfe und beschriftungen sollen wir mittels g.drawRect bewerkstelligen, die sichtbaren Zahlen auf den Buttons mit g.drawString. (Geht sicher einfacher, ist aber vom Lehrer so gewünscht!!)

Ich habe meine Buttons und Zahlen zwar schon erledigen können, möchte aber alles in ein Array einbauen, und über dieses ausgeben.



Und genau das Funktioniert nicht!!

Hier mal mein Quellcode aus der Klasse:

Java Code:

  1.  
  2. package Übung2;
  3.  
  4. import java.awt.Color;
  5. import java.awt.Font;
  6. import java.awt.Graphics;
  7. import javax.swing.*;
  8.  
  9. public class PaintPanel extends JPanel {
  10.  
  11. private int button[];
  12.  
  13. @Override
  14. protected void paintComponent(Graphics g) {
  15. super.paintComponent(g);
  16.  
  17. button[] = new button[14];
  18.  
  19. button[0] = new button(50, 30, 350, 100); //Display
  20.  
  21. g.drawRect(50, 150, 50, 50); //Button 1
  22. g.drawRect(50, 250, 50, 50); //Button 4
  23. g.drawRect(50, 350, 50, 50); //Button 7
  24. g.drawRect(150, 150, 50, 50); //Button 2
  25. g.drawRect(150, 250, 50, 50); //Button 5
  26. g.drawRect(150, 350, 50, 50); //Button 8
  27. g.drawRect(250, 150, 50, 50); //Button 3
  28. g.drawRect(250, 250, 50, 50); //Button 6
  29. g.drawRect(250, 350, 50, 50); //Button 9
  30. g.drawRect(350, 150, 50, 50); //Button +
  31. g.drawRect(350, 250, 50, 50); //Button -
  32. g.drawRect(350, 350, 50, 50); //Button *
  33. g.drawRect(350, 450, 50, 50); //Button /
  34. g.drawRect(250, 450, 50, 50); //Button /
  35. g.drawRect(50, 450, 150, 50); //Button =
  36.  
  37. //Tastenbeschriftung
  38. g.setFont(new Font("TimesRoman", Font.BOLD, 30));
  39. g.setColor(Color.BLUE);
  40. g.drawString("1", 68, 187);
  41. g.drawString("2", 168, 187);
  42. g.drawString("3", 268, 187);
  43. g.drawString("+", 368, 187);
  44. g.drawString("4", 68, 287);
  45. g.drawString("5", 168, 287);
  46. g.drawString("6", 268, 287);
  47. g.drawString("-", 368, 287);
  48. g.drawString("7", 68, 387);
  49. g.drawString("8", 168, 387);
  50. g.drawString("9", 268, 387);
  51. g.drawString("*", 368, 390);
  52. g.drawString("=", 118, 487);
  53. g.drawString("0", 268, 487);
  54. g.drawString("/", 368, 487);
  55. }
  56. }


Wie gesagt, ohne Array funktionierts wunderbar, nur möchte ich eben meine Werte aus g.drawRect und g.drawString mittels Array einlesen und ausgeben!!
Diese beiden Aufrufe funktionieren nicht!!
Java Code:

  1.  
  2. button[] = new button();
  3.  
  4. button[0] = new button(50, 30, 350, 100); //Display



Mit den beiden letzten Schleifen möchte ich dann meine Buttons zeichnen lassen, diese sind allerdings in der Klasse noch nicht implementiert....Aber so in etwa stelle ich mir das dann vor

Java Code:

  1.  
  2. for (button b: button){
  3. g.drawRect(x,y,width, height);
  4. }
  5. for (button b: button)
  6. g.drawString("", WIDTH, WIDTH);
  7. }



Ich danke euch schon mal recht herzlich für eure Hilfe!!

mfg Chris


Taschenrechner in Java

0 commentaires:

Enregistrer un commentaire