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:
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!!
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
Ich danke euch schon mal recht herzlich für eure Hilfe!!
mfg Chris
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:
package Übung2;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.*;
public class PaintPanel extends JPanel {
private int button[];
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
button[] = new button[14];
button[0] = new button(50, 30, 350, 100); //Display
g.drawRect(50, 150, 50, 50); //Button 1
g.drawRect(50, 250, 50, 50); //Button 4
g.drawRect(50, 350, 50, 50); //Button 7
g.drawRect(150, 150, 50, 50); //Button 2
g.drawRect(150, 250, 50, 50); //Button 5
g.drawRect(150, 350, 50, 50); //Button 8
g.drawRect(250, 150, 50, 50); //Button 3
g.drawRect(250, 250, 50, 50); //Button 6
g.drawRect(250, 350, 50, 50); //Button 9
g.drawRect(350, 150, 50, 50); //Button +
g.drawRect(350, 250, 50, 50); //Button -
g.drawRect(350, 350, 50, 50); //Button *
g.drawRect(350, 450, 50, 50); //Button /
g.drawRect(250, 450, 50, 50); //Button /
g.drawRect(50, 450, 150, 50); //Button =
//Tastenbeschriftung
g.setFont(new Font("TimesRoman", Font.BOLD, 30));
g.setColor(Color.BLUE);
g.drawString("1", 68, 187);
g.drawString("2", 168, 187);
g.drawString("3", 268, 187);
g.drawString("+", 368, 187);
g.drawString("4", 68, 287);
g.drawString("5", 168, 287);
g.drawString("6", 268, 287);
g.drawString("-", 368, 287);
g.drawString("7", 68, 387);
g.drawString("8", 168, 387);
g.drawString("9", 268, 387);
g.drawString("*", 368, 390);
g.drawString("=", 118, 487);
g.drawString("0", 268, 487);
g.drawString("/", 368, 487);
}
}
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:
button[] = new button();
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:
for (button b: button){
g.drawRect(x,y,width, height);
}
for (button b: button)
g.drawString("", WIDTH, WIDTH);
}
Ich danke euch schon mal recht herzlich für eure Hilfe!!
mfg Chris
Zuletzt bearbeitet: