Eigenes Programm Flaechenrechner

malte

Mitglied
Hallo,

ich muss in meinem Javakurs ein kleines programm machen..
konsolenanwendung = 3
classen irgendwie 2 und
noch besser eine eins.

Habe mir überlegt einfach einen kleinen rechnener zu machen!
einfach nur

vom rechteck also a*b per eingabe auszurechnen
und vom vierreck a*a.

habe dazu ein frame erstellt.

ich habe das soweit aber jetzt muss ich da noch ein zwie bilder reinmachen und die a+b soll zusammengerechnet werden und in das freie feld eingeben ausgegeben werden.

Habe absolut keine ahnung von java und muss aber irgendwie was hinbasteln. auch wenn es für manche hier lachhaft ist aber ich krieg es nicht hin.

könnt ihr mir auf die sprünge helfen?

hatte vorher 2 jahre fotoshop und bin ärgerlicherweise in java wpk reingerutscht.

Umgebungsvariante ist der normale Java Editor.

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 08.04.2010
  * @author
  */

public class Flaechenrechner extends JFrame {
  // Anfang Variablen
  private JLabel lblueberschirft = new JLabel();
  private Canvas canvas1 = new Canvas();
  private JTextField TextField1 = new JTextField();
  private JLabel lblrechteck = new JLabel();
  private JTextField txtrechteck1 = new JTextField();
  private JLabel lblrechteckhm = new JLabel();
  private JLabel lblx = new JLabel();
  private JTextField txtrechteck2 = new JTextField();
  private JLabel lblrechteckergebnis = new JLabel();
  private JLabel lblergebnisanzeige = new JLabel();
  private JLabel lblcm = new JLabel();
  // Ende Variablen

  public Flaechenrechner(String title) {
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });
    int frameWidth = 449;
    int frameHeight = 469;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2 ;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
     lblueberschirft.setBounds(80, 24, 189, 32);
    lblueberschirft.setText("Flächenrechner");
    lblueberschirft.setFont(new Font("Arial", Font.PLAIN, 23));
    cp.add(lblueberschirft);


    txtrechteck1.setBounds(256, 96, 25, 24);
    txtrechteck1.setText("a");
    cp.add(txtrechteck1);
    lblrechteck.setBounds(160, 96, 87, 24);
    lblrechteck.setText("Rechteck");
    lblrechteck.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    cp.add(lblrechteck);
    lblx.setBounds(296, 96, 10, 24);
    lblx.setText("x");
    lblx.setFont(new Font("MS Sans Serif", Font.PLAIN, 17));
    cp.add(lblx);
    txtrechteck2.setBounds(328, 96, 25, 24);
    txtrechteck2.setText("b");
    cp.add(txtrechteck2);
    lblrechteckergebnis.setBounds(155, 136, 131, 20);
    lblrechteckergebnis.setText("Die Fläche beträgt");
    lblrechteckergebnis.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblrechteckergebnis);
    lblergebnisanzeige.setBounds(304, 136, 36, 20);
    lblergebnisanzeige.setText("");
    lblergebnisanzeige.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblergebnisanzeige);
    lblcm.setBounds(360, 136, 21, 20);
    lblcm.setText("cm");
    lblcm.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblcm);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Ereignisprozeduren
  // Ende Ereignisprozeduren

  public static void main(String[] args) {
    new Flaechenrechner("Flaechenrechner");
  }
}
show_img.php


Hier die java datei mit dem frame zusammen 🙂
Deposit Files
könnt ihr mir helfen?

wäre echt super!

mfg malte
 
editieren gin gnoch nicht, weil ich mein acc noch nicht aktiviert hatte. sorry deswegen nochmal.

Wie kann ich jetzt zum beispiel die eingabe felder zusammen rechnen und oben in dem label ausgeben?

und wie kann ich ein bild einfügen? welches neben dem rechnen dargestellt wird. in dem fall eben rechteck und weiter unten soll das viereck hin.

mfg
 
Habe absolut keine ahnung von java und muss aber irgendwie was hinbasteln.
Wenn dem so ist, würde ich mal klein (z.B. mit einer Konsolenanwendung) anfangen ;-)

Vor allem solche Spielereien wie Setzen von Schrift und Schriftgrösse könnte man am Anfang mal weglassen.
Wie kann ich jetzt zum beispiel die eingabe felder zusammen rechnen und oben in dem label ausgebe?
Entweder Du hängst entsprechende Listener an die Textfelder oder fügst noch einen Button mit Listener ein und berechnest den Flächeninhalt nach Knopfdruck.
 
>Wie kann ich jetzt zum beispiel die eingabe felder zusammen rechnen und oben in dem label ausgeben?

Mach einen JButton, adde dem einen ActionListener, im AL lies was in den beiden Textfeldern steht.
Aus den beiden Strings aus den Textfeldern mach ein double (Double.parseDouble(st)). Wenn keine
NumberFormatException fliegt, bene... Multiplizieren und Ergenis setzten, sonst halt error oder so schreiben.

EDIT:
>Wenn dem so ist, würde ich mal klein (z.B. mit einer Konsolenanwendung) anfangen

😀 In dem Fall ca ein Einzeiler.
 
Bin zwar auch blutigwer Anfänger, aber denke das man es so lösen könnte:
Code:
private JButton berechnen = new JButton("berechnen");
irgendwie zum Frame hinzufügen
Code:
berechnen.addActionListener(new ErgebnisListener())
Ich würde das ERgebnis in einer JTextArea ausgeben, damit man es besser kopieren kann..
Code:
private JTextArea ergebnis = new JTextArea()
Dann der Listener:
Java:
private class ErgebnisListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
String h = txtrechteck1.getText();
String b = txtrechteck2.getText();
double höhe  = Double.parseDouble(h) ;
double breite= Double.parseDouble(b);
double fläche = höhe*breite;
ergebnis.setText(fläche);
Alternativ könnte man den Längenangaben einen KeyListener hinzufügen, um sich den Button zu sparen.
 
2 Möglichkeiten die für dich infrage kämen wären,
1. Knopp mit nem ActionListener rein setzen
2. Einen ActionListener (Ein Objekt) an beide TextAreas hängen

wozu nur einen AL an zwei textareas?
-> so kannste abfragen ob auch wirklich in beiden etwas steht 😉 sonst kanns passiern das du versuchst a * 25 zu errechnen un das wird mit ner exception enden

wobei ich auch der meinung bin das du vllt lieber erstmal mit einfacheren konsolen spielen solltest, das is um einiges simpler
 

Zurück
Oben