Hallo, ich schreibe momentan an einem kleinem Programm das zuerst nichts weiter
tun soll als die eingegebene Körper Größe in cm, in m ausgeben soll ( kein sehr ernstzunehmendes Programm )
als zweiten schritt würde ich es cool finden wenn das Ergebnis in einem neuem kleinen Fenster aufgeht.
Mein Problem ist, das ich nicht ganz verstehe was alles in eine Klasse rein gehört wenn ich beispielsweise nur die Größe
ausgeben will, brauch ich immer ein Konstruktor ? wann brauch ich die seit Methode usw.
mein zweites Problem ist, das ich es nicht schaffe den Button berechnen funktionsfähig zu machen.
[CODE lang="java" title="Gui"]import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Color;
public class Gui extends JFrame {
JButton berechnen, abbruch;
JTextField eingabe;
public Gui() {
setLayout(new GridLayout(3, 1 ));
setTitle("Größen Rechner");
// Zeile 1
JPanel jp_z1 = new JPanel();
JLabel lb_Ueberschrift = new JLabel("Berechnen sie ihre Größe");
lb_Ueberschrift.setFont( new Font("COURIER", Font.BOLD+Font.ITALIC,30));
jp_z1.add(lb_Ueberschrift);
add(jp_z1);
// Zeile 2
JPanel jp_z2 = new JPanel();
JLabel lb_info = new JLabel("Geben sie ihr Größe in cm an: ");
jp_z2.add(lb_info);
eingabe = new JTextField(10);
jp_z2.add(eingabe);
eingabe.addActionListener(new f_Berechnen());
add(jp_z2);
JPanel jp_z3 = new JPanel();
berechnen = new JButton("Berechnen");
jp_z3.add(berechnen);
abbruch = new JButton("Abbrechen");
jp_z3.add(abbruch);
abbruch.addActionListener(new f_abbrechen());
add(jp_z3);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
// Abbrech Button Funktion
class f_abbrechen implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
// Berechnen Funktion
class f_Berechnen implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if (berechnen.isEnabled()){
new GrEingabe().setGr(Integer.parseInt(eingabe.getText()));
}
}
}
public static void main(String[] args) {
new Gui();
}
}[/CODE]
[CODE lang="java" title="GrEingabe"]public class GrEingabe {
private int gr;
public void setGr(int gr) {
this.gr = gr;
System.out.println(gr);
}
}
[/CODE]
tun soll als die eingegebene Körper Größe in cm, in m ausgeben soll ( kein sehr ernstzunehmendes Programm )
als zweiten schritt würde ich es cool finden wenn das Ergebnis in einem neuem kleinen Fenster aufgeht.
Mein Problem ist, das ich nicht ganz verstehe was alles in eine Klasse rein gehört wenn ich beispielsweise nur die Größe
ausgeben will, brauch ich immer ein Konstruktor ? wann brauch ich die seit Methode usw.
mein zweites Problem ist, das ich es nicht schaffe den Button berechnen funktionsfähig zu machen.
[CODE lang="java" title="Gui"]import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Color;
public class Gui extends JFrame {
JButton berechnen, abbruch;
JTextField eingabe;
public Gui() {
setLayout(new GridLayout(3, 1 ));
setTitle("Größen Rechner");
// Zeile 1
JPanel jp_z1 = new JPanel();
JLabel lb_Ueberschrift = new JLabel("Berechnen sie ihre Größe");
lb_Ueberschrift.setFont( new Font("COURIER", Font.BOLD+Font.ITALIC,30));
jp_z1.add(lb_Ueberschrift);
add(jp_z1);
// Zeile 2
JPanel jp_z2 = new JPanel();
JLabel lb_info = new JLabel("Geben sie ihr Größe in cm an: ");
jp_z2.add(lb_info);
eingabe = new JTextField(10);
jp_z2.add(eingabe);
eingabe.addActionListener(new f_Berechnen());
add(jp_z2);
JPanel jp_z3 = new JPanel();
berechnen = new JButton("Berechnen");
jp_z3.add(berechnen);
abbruch = new JButton("Abbrechen");
jp_z3.add(abbruch);
abbruch.addActionListener(new f_abbrechen());
add(jp_z3);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
// Abbrech Button Funktion
class f_abbrechen implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
// Berechnen Funktion
class f_Berechnen implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if (berechnen.isEnabled()){
new GrEingabe().setGr(Integer.parseInt(eingabe.getText()));
}
}
}
public static void main(String[] args) {
new Gui();
}
}[/CODE]
[CODE lang="java" title="GrEingabe"]public class GrEingabe {
private int gr;
public void setGr(int gr) {
this.gr = gr;
System.out.println(gr);
}
}
[/CODE]