M
manunana89
Gast
Hi ich wollte dieses Programm in zwei Klassen aufteilen!!!
Also "objektorientiert" Oberfläche und "Engine" voneinander trennen.
Theoretisch hab ich ja nur das letzte Drittel wirklich selbst auf die Beine gestellt!
Programmerklärung: Das Programm liest erst eine Zahl z ein !
Die Variablel zahlenanzahl beschreibt die Anzahl der Zahlen die verglichen werden sollen und nachfolgend angegeben werden können!
Zum Schluss gibt das Programm die kleinste und größte Zahl aus!
Wäre supernett wenn mir jemand helfen könnte die Oberfläche un die "Engine" zu trennen und in zwei Klassen aufzuteilen''
Also "objektorientiert" Oberfläche und "Engine" voneinander trennen.
Theoretisch hab ich ja nur das letzte Drittel wirklich selbst auf die Beine gestellt!
Programmerklärung: Das Programm liest erst eine Zahl z ein !
Die Variablel zahlenanzahl beschreibt die Anzahl der Zahlen die verglichen werden sollen und nachfolgend angegeben werden können!
Zum Schluss gibt das Programm die kleinste und größte Zahl aus!
Wäre supernett wenn mir jemand helfen könnte die Oberfläche un die "Engine" zu trennen und in zwei Klassen aufzuteilen''
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.SwingUtilities;
public class NewJFrame extends javax.swing.JFrame {
private JButton endebutton;
private JButton button;
private JTextField textfield;
private JLabel label;
int zahlenanzahl;
boolean zahlenfestgelegt = false;
int max = -100000000;
int min = 1000000000;
private JButton neu;
private JLabel jLabel2;
private JLabel jLabel1;
int labelzahl;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
NewJFrame inst = new NewJFrame();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public NewJFrame() {
super();
initGUI();
}
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
this.setTitle("MinMax");
{
endebutton = new JButton();
getContentPane().add(endebutton);
endebutton.setText("Ende!");
endebutton.setBounds(78, 168, 114, 21);
endebutton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
endebuttonActionPerformed(evt);
}
});
}
{
button = new JButton();
getContentPane().add(button);
button.setText("Drücken!");
button.setBounds(78, 116, 114, 21);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
buttonActionPerformed(evt);
}
});
}
{
textfield = new JTextField();
getContentPane().add(textfield);
textfield.setBounds(80, 37, 112, 21);
}
{
label = new JLabel();
getContentPane().add(label);
label.setText("Wieviele Zahlen wollen Sie vergleichen?");
label.setBounds(32, 4, 236, 27);
}
{
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText(" Minimum:");
jLabel1.setBounds(80, 65, 112, 21);
jLabel1.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
}
{
jLabel2 = new JLabel();
getContentPane().add(jLabel2);
jLabel2.setText(" Maximum: ");
jLabel2.setBounds(80, 90, 112, 20);
jLabel2.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
}
{
neu = new JButton();
getContentPane().add(neu);
neu.setText("Neustart!");
neu.setBounds(78, 142, 114, 21);
neu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
neuActionPerformed(evt);
}
});
}
pack();
this.setSize(276, 235);
} catch (Exception e) {
e.printStackTrace();
}
}
private void endebuttonActionPerformed(ActionEvent evt) {
System.exit(0);
}
private void buttonActionPerformed(ActionEvent evt) {
int einlesenmin , einlesenmax ;
if (zahlenfestgelegt == false) {
zahlenanzahl = Integer.parseInt(textfield.getText());
System.out.println(zahlenanzahl);
zahlenfestgelegt = true;
labelzahl = 1;
label.setText(" Bitte " + labelzahl
+ ".Zahl eingeben!");
textfield.setText("");
}
else {
labelzahl++;
einlesenmin = Integer.parseInt(textfield.getText());
einlesenmax = Integer.parseInt(textfield.getText());
textfield.setText("");
label.setText(" Bitte " + labelzahl
+ ".Zahl eingeben!");
System.out.println(zahlenfestgelegt);
System.out.println(min);
System.out.println(max);
if (einlesenmax > max)
max = einlesenmax;
if (einlesenmin < min )
min = einlesenmin ; }
if (labelzahl-1 == zahlenanzahl ){
label.setText(" Fertig!");
System.out.println("Fertiges max= "+max);
jLabel1.setText(" Minimum: "+ min);
jLabel2.setText(" Maximum: "+max);
}}
private void neuActionPerformed(ActionEvent evt) {
zahlenfestgelegt = false ;
min = 1000000000;
max = -100000000;
label.setText("Wieviele Zahlen wollen Sie vergleichen?");
jLabel1.setText(" Minimum: ");
jLabel2.setText(" Maximum: ");
textfield.setText("");
}}