Skip to content

Instantly share code, notes, and snippets.

@princessofpain
Last active November 15, 2017 15:34
Show Gist options
  • Save princessofpain/24cbdff25b06e585e49ef86d8db2e1d3 to your computer and use it in GitHub Desktop.
Save princessofpain/24cbdff25b06e585e49ef86d8db2e1d3 to your computer and use it in GitHub Desktop.
A file to type in a defined number of marks including the calculation of average, best mark, worse mark etc. The problem is to fill the array through an ActionListener of the button "btnbernehmen2".
package gui10;
import java.awt.BorderLayout;
import java.awt.Desktop.Action;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Arrays;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
public class Notenbilanz extends JFrame {
private JButton btnbernehmen2;
private JLabel lblNote;
private JPanel contentPane;
private JTextField txAnzNoten;
private JTextField txNote;
private JTextField txNoBearbeiten;
private JTextField txNeueNote;
private JButton btnNeueBerechnung;
private JLabel lbleingegebeneNoten;
private JLabel lblDurchschnitt;
private JLabel lblBesteNote;
private JLabel lblSchlechteste;
private JLabel lblNeuerWert;
private JLabel lblNoten;
private JLabel lblNoBearbeiten;
private JButton btnbernehmen;
private JButton btnSpeichern;
private JButton btnOk;
int anzNoten, beste, schlechteste, clicked = 0, counter;
double durchschnitt, noteGesamt, summe, noteSchlechteste, noteBeste, note, summe2;
//Array deklarieren
double[] noten = new double[anzNoten];
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Notenbilanz frame = new Notenbilanz();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Notenbilanz() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 507, 362);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
for (int i = 0; i < noten.length ; i++){
noten[i]=1;
}
JLabel lblAnzNoten = new JLabel("Anzahl Noten");
lblAnzNoten.setBounds(10, 11, 94, 14);
contentPane.add(lblAnzNoten);
txAnzNoten = new JTextField();
txAnzNoten.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
btnbernehmen.requestFocus();
}
}
});
txAnzNoten.setBounds(10, 31, 76, 20);
contentPane.add(txAnzNoten);
txAnzNoten.setColumns(10);
btnbernehmen = new JButton("\u00DCbernehmen");
btnbernehmen.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent a) {
if(a.getKeyCode() == KeyEvent.VK_ENTER) {
btnbernehmen.setVisible(false);
txAnzNoten.setEnabled(false);
txNote.setVisible(true);
btnbernehmen2.setVisible(true);
lblNote.setVisible(true);
}
}
});
btnbernehmen.setBounds(118, 31, 131, 20);
contentPane.add(btnbernehmen);
JButton btnEnde = new JButton("Ende");
btnEnde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
btnEnde.setBounds(381, 256, 98, 20);
contentPane.add(btnEnde);
txNote = new JTextField();
txNote.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
btnbernehmen2.requestFocus();
}
}
});
txNote.setColumns(10);
txNote.setBounds(10, 93, 76, 20);
txNote.setVisible(false);
contentPane.add(txNote);
btnbernehmen2 = new JButton("\u00DCbernehmen");
btnbernehmen2.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
Berechnungen();
clicked++;
}
}
});
//*********************fill the Array*************************
btnbernehmen2.addActionListener( new ActionListener() {
@Override
private void ActionPerformed(ActionEvent evt) {
if(!txNote.getText().equals("")
&& Double.parseDouble(txNote.getText()) >= 1
&& Double.parseDouble(txNote.getText()) <= 6) {
summe = summe + Double.parseDouble(txNote.getText());
noten[counter-1] = Double.parseDouble(txNote.getText());
}
}
});
btnbernehmen2.setBounds(118, 93, 131, 20);
btnbernehmen2.setVisible(false);
contentPane.add(btnbernehmen2);
lblNote = new JLabel("1. Note");
lblNote.setBounds(10, 75, 94, 14);
lblNote.setVisible(false);
contentPane.add(lblNote);
btnNeueBerechnung = new JButton("Neue Berechnung");
btnNeueBerechnung.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent a) {
txAnzNoten.setEnabled(true);
txAnzNoten.setText("");
btnbernehmen.setVisible(true);
btnbernehmen2.setVisible(false);
txNote.setEnabled(true);
txNote.setText("");
lbleingegebeneNoten.setText("");
lblDurchschnitt.setText("");
lblBesteNote.setText("");
lblSchlechteste.setText("");
btnNeueBerechnung.setVisible(false);
lblNote.setText("1. Note");
clicked = 0;
counter = 0;
noteGesamt = 0;
lblNoten.setVisible(false);
}
});
btnNeueBerechnung.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
txAnzNoten.setEnabled(true);
txAnzNoten.setText("");
btnbernehmen.setVisible(true);
btnbernehmen2.setVisible(false);
txNote.setEnabled(true);
txNote.setText("");
lbleingegebeneNoten.setText("");
lblDurchschnitt.setText("");
lblBesteNote.setText("");
lblSchlechteste.setText("");
btnNeueBerechnung.setVisible(false);
lblNote.setText("1. Note");
clicked = 0;
counter = 0;
noteGesamt = 0;
lblNoten.setVisible(false);
}
if(e.getKeyCode() == KeyEvent.VK_DOWN) {
btnEnde.requestFocus();
}
}
});
btnNeueBerechnung.setBounds(280, 31, 144, 20);
btnNeueBerechnung.setVisible(false);
contentPane.add(btnNeueBerechnung);
lbleingegebeneNoten = new JLabel("");
lbleingegebeneNoten.setBounds(10, 144, 182, 16);
contentPane.add(lbleingegebeneNoten);
lblDurchschnitt = new JLabel("");
lblDurchschnitt.setBounds(10, 172, 182, 16);
contentPane.add(lblDurchschnitt);
lblBesteNote = new JLabel("");
lblBesteNote.setBounds(10, 200, 182, 16);
contentPane.add(lblBesteNote);
lblSchlechteste = new JLabel("");
lblSchlechteste.setBounds(10, 233, 182, 16);
contentPane.add(lblSchlechteste);
lblNoten = new JLabel("");
lblNoten.setBounds(10, 260, 353, 16);
contentPane.add(lblNoten);
txNoBearbeiten = new JTextField();
txNoBearbeiten.setBounds(280, 93, 30, 20);
contentPane.add(txNoBearbeiten);
txNoBearbeiten.setColumns(10);
setVisible(false);
lblNoBearbeiten = new JLabel(". Note bearbeiten");
lblNoBearbeiten.setBounds(313, 96, 111, 14);
contentPane.add(lblNoBearbeiten);
setVisible(false);
btnOk = new JButton("Ok");
btnOk.setBounds(423, 93, 56, 20);
contentPane.add(btnOk);
lblNeuerWert = new JLabel("");
lblNeuerWert.setBounds(280, 125, 111, 14);
contentPane.add(lblNeuerWert);
setVisible(false);
txNeueNote = new JTextField();
txNeueNote.setColumns(10);
txNeueNote.setBounds(280, 150, 50, 20);
contentPane.add(txNeueNote);
setVisible(false);
btnSpeichern = new JButton("Speichern");
btnSpeichern.setBounds(352, 150, 127, 20);
contentPane.add(btnSpeichern);
setVisible(false);
}
private void Berechnungen(){
counter++;
anzNoten = Integer.parseInt(txAnzNoten.getText());
// Neue Beschriftung der Label und Löschen der eingegebenen Note im Textfenster
txNote.setName("txNote" + counter );
lblNote.setText(counter + ". Note");
txNote.selectAll();
txNote.requestFocus();
// Erste Ergebnisanzeige im Label: Anzahl der eingegebenen Noten
lbleingegebeneNoten.setText("Anzahl eingebene Noten: " + counter);
// Zweite Ergebnisanzeige im Label: Durchschnitt der eingegebenen Noten
double note = Double.parseDouble(txNote.getText());
noteGesamt = noteGesamt + note;
durchschnitt = noteGesamt / counter;
lblDurchschnitt.setText("Notendurchschnitt: " + durchschnitt);
// Dritte Ergebnisanzeige im Label: Beste Note
beste = Integer.parseInt(txNote.getText());
if (clicked == 0) {
noteBeste = Integer.parseInt(txNote.getText());
}
if (noteBeste > beste) {
noteBeste = beste;
lblBesteNote.setText("Beste Note: " + noteBeste);
} else if (noteBeste == beste) {
lblBesteNote.setText("Beste Note: " + noteBeste);
} else if (noteBeste < beste) {
lblBesteNote.setText("Beste Note: " + noteBeste);
}
// Vierte Ergebnisanzeige im Label: Schlechteste Note
schlechteste = Integer.parseInt(txNote.getText());
if (clicked == 0) {
noteSchlechteste = Integer.parseInt(txNote.getText());
}
if (noteSchlechteste < schlechteste) {
noteSchlechteste = schlechteste;
lblSchlechteste.setText("Schlechteste Note: " + noteSchlechteste);
} else if (noteSchlechteste == schlechteste) {
lblSchlechteste.setText("Schlechteste Note: " + noteSchlechteste);
} else if (noteSchlechteste > schlechteste) {
lblSchlechteste.setText("Schlechteste Note: " + noteSchlechteste);
}
// Letzte Änderung durch Eingabe: Neue Berechnung
if (counter == anzNoten) {
btnbernehmen2.setVisible(false);
btnNeueBerechnung.setVisible(true);
btnNeueBerechnung.requestFocus();
//Änderungen für das Array
lblNoten.setText("Noten: " );
for (int i=0; i < noten.length; i++) {
lblNoten.setText(lblNoten.getText() + " " + noten[counter]);
}
lblNoten.setVisible(true);
lblNoBearbeiten.setVisible(true);
txNoBearbeiten.setVisible(true);
btnOk.setVisible(true);
lblNeuerWert.setVisible(true);
txNeueNote.setVisible(true);
btnSpeichern.setVisible(true);
}
}
}
private void btnbernehmen2ActionPerformed(ActionEvent evt){
if (!txNote.getText().equals("") && Double.parseDouble(txNote.getText()) >= 1 && Double.parseDouble(txNote.getText()) <= 6) {
summe = summe + Double.parseDouble(txNote.getText());
noten[counter-1] = Double.parseDouble(txNote.getText());
}
}
@laurocaetano
Copy link

@princessofpain
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment