Hallo
Ich bin sehr neu im Programmieren von Java und möchte daher einen Taschenrechner programmieren. Als ich auf Youtube nach einem Video geschaut habe, welches mir zeigt, wie ich ein Rechteck zeichnen kann, (Damit die Ausgabe schöner dargestellt wird) habe ich diesen Text kopiert (Ich weiss das ist doof. aber es geht ja nicht um das ) aber ich kann nun nur das Rechteck in einem Fenster anzeigen lassen, oder meine Knöpfe, welche noch keine Funktion haben.
Meine Frage lautet: Wie kann ich die folgende Codes so zusammen fügen, dass die Knöpfe und das gezeichnete zusammen auf einem Fenster zu sehen ist?
Die Main:
Das Fenster mit den Knöpfen:
Das Fenster mit den gezeichneten Dingen:
Das ist mein aller erster Post hier. Also hoffe ich, das ich alles richtig mache hier.
Ich erwähne nochmals mein Problem: Wenn ich das Programm starte, dann öffnet sich das Fenster mit den Knöpfen und nix weiteres. Wenn ich in der Main "JFrame fenster = new Fenster();" umschreibe zu "JFrame fenster = new Zeichnen();" dann öffnet sich das gezeichnete. Aber ich möchte das beides in einem ist.
Einige Tipps nebenbei währen auch cool
Vielen Dank im Voraus
eure Tarnpflanze
Ich bin sehr neu im Programmieren von Java und möchte daher einen Taschenrechner programmieren. Als ich auf Youtube nach einem Video geschaut habe, welches mir zeigt, wie ich ein Rechteck zeichnen kann, (Damit die Ausgabe schöner dargestellt wird) habe ich diesen Text kopiert (Ich weiss das ist doof. aber es geht ja nicht um das ) aber ich kann nun nur das Rechteck in einem Fenster anzeigen lassen, oder meine Knöpfe, welche noch keine Funktion haben.
Meine Frage lautet: Wie kann ich die folgende Codes so zusammen fügen, dass die Knöpfe und das gezeichnete zusammen auf einem Fenster zu sehen ist?
Die Main:
Java:
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
public class Taschenrechner {
public static void main(String[] args) {
JFrame fenster = new Fenster();
fenster.setSize(300, 400);
fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
fenster.setLocationRelativeTo(null);
fenster.setTitle("Taschenrechner");
fenster.setResizable(false);
fenster.setLayout(null);
fenster.setVisible(true);
}
}
Das Fenster mit den Knöpfen:
Java:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Label;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Fenster extends JFrame{
public Fenster(){
JLabel ausgabeLabel;
JButton nr1, nr2, nr3, nr4, nr5, nr6 ,nr7, nr8, nr9, nr0, punkt, negation,
clear, ausrechnen, addition, subtraktion, multiplikation, division,
klammerAuf, klammerZu, zeichenLoeschen, PI, wurzel, quadrieren;
JPanel buttons;
buttons = new JPanel();
buttons.setLayout(null);
buttons.setBounds(40, 170, 215, 175);
add(buttons);
nr1 = new JButton("1");
nr1.setBounds(0, 90, 50, 25);
nr1.setBackground(Color.lightGray);
buttons.add(nr1);
nr2 = new JButton("2");
nr2.setBounds(55, 90, 50, 25);
nr2.setBackground(Color.lightGray);
buttons.add(nr2);
nr3 = new JButton("3");
nr3.setBounds(110, 90, 50, 25);
nr3.setBackground(Color.lightGray);
buttons.add(nr3);
nr4 = new JButton("4");
nr4.setBounds(0, 60, 50, 25);
nr4.setBackground(Color.lightGray);
buttons.add(nr4);
nr5 = new JButton("5");
nr5.setBounds(55, 60, 50, 25);
nr5.setBackground(Color.lightGray);
buttons.add(nr5);
nr6 = new JButton("6");
nr6.setBounds(110, 60, 50, 25);
nr6.setBackground(Color.lightGray);
buttons.add(nr6);
nr7 = new JButton("7");
nr7.setBounds(0, 30, 50, 25);
nr7.setBackground(Color.lightGray);
buttons.add(nr7);
nr8 = new JButton("8");
nr8.setBounds(55, 30, 50, 25);
nr8.setBackground(Color.lightGray);
buttons.add(nr8);
nr9 = new JButton("9");
nr9.setBounds(110, 30, 50, 25);
nr9.setBackground(Color.lightGray);
buttons.add(nr9);
nr0 = new JButton("0");
nr0.setBounds(0, 120, 50, 25);
nr0.setBackground(Color.lightGray);
buttons.add(nr0);
punkt = new JButton(".");
punkt.setBounds(55, 120, 50, 25);
punkt.setBackground(Color.lightGray);
buttons.add(punkt);
negation = new JButton("+/-");
negation.setBounds(110, 120, 50, 25);
negation.setBackground(Color.lightGray);
buttons.add(negation);
clear = new JButton("C");
clear.setBounds(0, 0, 50, 25);
clear.setBackground(new Color(255, 204, 153));
buttons.add(clear);
ausrechnen = new JButton("=");
ausrechnen.setBounds(165, 120, 50, 25);
ausrechnen.setBackground(new Color(102, 153, 255));
buttons.add(ausrechnen);
addition = new JButton("+");
addition.setBounds(0, 150, 50, 25);
addition.setBackground(new Color(102, 153, 255));
buttons.add(addition);
subtraktion = new JButton("-");
subtraktion.setBounds(55, 150, 50, 25);
subtraktion.setBackground(new Color(102, 153, 255));
buttons.add(subtraktion);
multiplikation = new JButton("*");
multiplikation.setBounds(110, 150, 50, 25);
multiplikation.setBackground(new Color(102, 153, 255));
buttons.add(multiplikation);
division = new JButton("/");
division.setBounds(165, 150, 50, 25);
division.setBackground(new Color(102, 153, 255));
buttons.add(division);
klammerAuf = new JButton("(");
klammerAuf.setBounds(55, 0, 50, 25);
klammerAuf.setBackground(new Color(255, 204, 255));
buttons.add(klammerAuf);
klammerZu = new JButton(")");
klammerZu.setBounds(110, 0, 50, 25);
klammerZu.setBackground(new Color(255, 204, 255));
buttons.add(klammerZu);
zeichenLoeschen = new JButton("<<");
zeichenLoeschen.setBounds(165, 0, 50, 25);
zeichenLoeschen.setBackground(new Color(219, 219, 112));
buttons.add(zeichenLoeschen);
PI = new JButton("PI");
PI.setBounds(165, 30, 50, 25);
PI.setBackground(new Color(102, 255, 153));
buttons.add(PI);
wurzel = new JButton("Wl");
wurzel.setBounds(165, 60, 50, 25);
wurzel.setBackground(new Color(153, 204, 204));
buttons.add(wurzel);
quadrieren = new JButton("Qd");
quadrieren.setBounds(165, 90, 50, 25);
quadrieren.setBackground(new Color(153, 204, 204));
buttons.add(quadrieren);
}
}
Das Fenster mit den gezeichneten Dingen:
Java:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Zeichnen extends JFrame{
Label ausgabeLabel;
public Zeichnen(){
super("Zeichnen");
setLayout(null);
ausgabeLabel = new Label();
ausgabeLabel.setBounds(0, 0, 300, 400);
add(ausgabeLabel);
}
private class Label extends JLabel{
@Override
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.GREEN);
g.fillRect(40, 25, 100, 50);
}
}
}
Das ist mein aller erster Post hier. Also hoffe ich, das ich alles richtig mache hier.
Ich erwähne nochmals mein Problem: Wenn ich das Programm starte, dann öffnet sich das Fenster mit den Knöpfen und nix weiteres. Wenn ich in der Main "JFrame fenster = new Fenster();" umschreibe zu "JFrame fenster = new Zeichnen();" dann öffnet sich das gezeichnete. Aber ich möchte das beides in einem ist.
Einige Tipps nebenbei währen auch cool
Vielen Dank im Voraus
eure Tarnpflanze