Hallo Forum,
komme bei dem folgenden Code nicht weiter...
Die eingegebenen Noten sollen in einem Array gespeichert sowie anschließend hintereinander in einem JLabel ausgegeben werden.
Allerdings werden alle Werte als "null" angegeben - lediglich der letzte Wert wird korrekt dargestellt.
Lösungsansätze und allgemeine Verbesserungsvorschläge wären toll!
Danke
komme bei dem folgenden Code nicht weiter...
Die eingegebenen Noten sollen in einem Array gespeichert sowie anschließend hintereinander in einem JLabel ausgegeben werden.
Allerdings werden alle Werte als "null" angegeben - lediglich der letzte Wert wird korrekt dargestellt.
Lösungsansätze und allgemeine Verbesserungsvorschläge wären toll!
Danke
Java:
import java.text.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
import java.util.Arrays;
public class Notenbilanz extends javax.swing.JFrame {
private JLabel jLabel1;
private JButton jBtnAnzahlUebernehmen;
private JLabel jLNote;
private JButton jBtnNoteUebernehmen;
private JLabel jLNotenschnitt;
private JLabel jLSchlechtesteNote;
private JButton jBtnEnde;
private JButton jBtnNeu;
private JLabel jLNotenzahl;
private JLabel jLBesteNote;
private JTextField jTFNote;
private JTextField jTFNotenzahl;
private JLabel jLNoten;
public DecimalFormat fzahl;
public int notenzahl, i;
public double summe, besteNote, schlechtesteNote, notenschnitt;
private JLabel lblNoten;
public Double [] noten = new Double [notenzahl];
private JTextField tfNotennummer;
private JLabel lblNotennummer;
private JButton btnNotennummer;
private JButton btnNeuenWertSpeichern;
private JTextField tfNeuerWert;
private JLabel lblNeuerWert;
public static void fill (Double [] noten, int fromIndex, int toIndex ){
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Notenbilanz inst = new Notenbilanz();
inst.setLocationRelativeTo(null);
inst.setTitle("Notenliste");
inst.setVisible(true);
}
});
}
public Notenbilanz() {
super();
initGUI();
}
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
this.setPreferredSize(new java.awt.Dimension(408, 253));
this.setTitle("Notenbilanz");
{
fzahl = new DecimalFormat("###,##0.00");
}
{
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText("Anzahl Noten");
jLabel1.setBounds(6, 7, 89, 15);
}
{
jTFNotenzahl = new JTextField();
getContentPane().add(jTFNotenzahl);
jTFNotenzahl.setBounds(6, 28, 41, 21);
}
{
jBtnAnzahlUebernehmen = new JButton();
getContentPane().add(jBtnAnzahlUebernehmen);
jBtnAnzahlUebernehmen.setText("Übernehmen");
jBtnAnzahlUebernehmen.setBounds(73, 28, 115, 21);
jBtnAnzahlUebernehmen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnAnzahlUebernehmenActionPerformed(evt);
}
});
}
{
jLNote = new JLabel();
getContentPane().add(jLNote);
jLNote.setText("1.Note");
jLNote.setBounds(6, 67, 47, 14);
jLNote.setVisible(false);
}
{
jTFNote = new JTextField();
getContentPane().add(jTFNote);
jTFNote.setBounds(6, 87, 41, 21);
jTFNote.setVisible(false);
}
{
jBtnNoteUebernehmen = new JButton();
getContentPane().add(jBtnNoteUebernehmen);
jBtnNoteUebernehmen.setText("Übernehmen");
jBtnNoteUebernehmen.setBounds(73, 87, 115, 21);
jBtnNoteUebernehmen.setVisible(false);
jBtnNoteUebernehmen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnNoteUebernehmenActionPerformed(evt);
}
});
}
{
jLBesteNote = new JLabel();
getContentPane().add(jLBesteNote);
jLBesteNote.setBounds(6, 163, 365, 19);
}
{
jLNotenschnitt = new JLabel();
getContentPane().add(jLNotenschnitt);
jLNotenschnitt.setBounds(6, 138, 365, 19);
}
{
jLSchlechtesteNote = new JLabel();
getContentPane().add(jLSchlechtesteNote);
jLSchlechtesteNote.setBounds(6, 188, 365, 19);
}
{
jLNoten = new JLabel();
jLNoten.setText("Note:" );
getContentPane().add(jLNoten);
jLNoten.setBounds(6, 206, 385, 19);
jLNoten.setVisible(false);
}
{
jLNotenzahl = new JLabel();
getContentPane().add(jLNotenzahl);
jLNotenzahl.setBounds(6, 118, 374, 14);
}
{
jBtnNeu = new JButton();
getContentPane().add(jBtnNeu);
jBtnNeu.setText("Neue Berechnung");
jBtnNeu.setBounds(240, 28, 140, 21);
jBtnNeu.setVisible(false);
jBtnNeu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnNeuActionPerformed(evt);
}
});
}
{
jBtnEnde = new JButton();
getContentPane().add(jBtnEnde);
jBtnEnde.setText("Ende");
jBtnEnde.setBounds(279, 188, 94, 21);
{
lblNoten = new JLabel();
lblNoten.setVisible(false);
lblNoten.setBounds(186, 209, 147, 16);
getContentPane().add(lblNoten);
}
tfNotennummer = new JTextField();
tfNotennummer.setBounds(211, 85, 41, 26);
getContentPane().add(tfNotennummer);
tfNotennummer.setColumns(10);
JButton btnNotennummer = new JButton("ok");
btnNotennummer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
lblNeuerWert.setVisible(true);
btnNeuenWertSpeichern.setVisible(true);
tfNeuerWert.setVisible(true);
}
});
btnNotennummer.setBounds(361, 85, 47, 29);
getContentPane().add(btnNotennummer);
JLabel lblNotennummer = new JLabel(".Note bearbeiten");
lblNotennummer.setBounds(248, 90, 123, 16);
getContentPane().add(lblNotennummer);
{
btnNeuenWertSpeichern = new JButton("speichern");
btnNeuenWertSpeichern.setVisible(false);
btnNeuenWertSpeichern.setBounds(279, 153, 117, 29);
getContentPane().add(btnNeuenWertSpeichern);
}
{
tfNeuerWert = new JTextField();
tfNeuerWert.setVisible(false);
tfNeuerWert.setBounds(227, 156, 41, 26);
getContentPane().add(tfNeuerWert);
tfNeuerWert.setColumns(10);
}
{
lblNeuerWert = new JLabel("New label");
lblNeuerWert.setVisible(false);
lblNeuerWert.setBounds(211, 135, 61, 16);
getContentPane().add(lblNeuerWert);
}
jBtnEnde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jBtnEndeActionPerformed(evt);
}
});
}
pack();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jBtnAnzahlUebernehmenActionPerformed(ActionEvent evt) {
if (!jTFNotenzahl.getText().equals("")) {
notenzahl = Integer.parseInt(jTFNotenzahl.getText());
i = 1;
summe = 0;
besteNote = 6;
schlechtesteNote = 0;
jBtnAnzahlUebernehmen.setVisible(false);
jTFNotenzahl.setEditable(false);
jLNote.setVisible(true);
jTFNote.setVisible(true);
jBtnNoteUebernehmen.setVisible(true);
jTFNote.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Anzahl der Noten eingeben!");
jTFNotenzahl.requestFocus();
}
}
private void jBtnNoteUebernehmenActionPerformed(ActionEvent evt) {
if (!jTFNote.getText().equals("")
&& Double.parseDouble(jTFNote.getText()) >= 1
&& Double.parseDouble(jTFNote.getText()) <= 6) {
summe = summe + Double.parseDouble(jTFNote.getText());
Double [] noten = new Double [notenzahl];
noten[i-1]=Double.parseDouble(jTFNote.getText());
notenschnitt = summe / i;
jLNotenschnitt.setText("Notenschnitt: "
+ fzahl.format(notenschnitt));
jLNotenzahl.setText("Anzahl eingegebene Noten: "
+ Integer.toString(i));
if (Double.parseDouble(jTFNote.getText()) > schlechtesteNote) {
schlechtesteNote = Double.parseDouble(jTFNote.getText());
jLSchlechtesteNote.setText("schlechteste Note: "
+ Double.toString(schlechtesteNote));
}
if (Double.parseDouble(jTFNote.getText()) < besteNote) {
besteNote = Double.parseDouble(jTFNote.getText());
jLBesteNote
.setText("beste Note: " + Double.toString(besteNote));
}
if (i == notenzahl) {
notenschnitt = summe / notenzahl;
jBtnNoteUebernehmen.setVisible(false);
jBtnNeu.setVisible(true);
// lblNoten.setText("Noten: " );
jLNoten.setVisible(true);
for(int i=0;i<noten.length;i++){
if(noten[i]!=null) {
noten [i] = Double.parseDouble(jTFNote.getText());
jLNoten.setText(jLNoten.getText() + " " + (noten[i]));
}
}
} else {
i++;
jLNote.setText(Integer.toString(i) + ".Note");
jTFNote.setText("");
jTFNote.requestFocus();
}
} else {
JOptionPane.showMessageDialog(null, "gültige Note eingeben!");
jTFNote.requestFocus();
}
}
private void jBtnNeuActionPerformed(ActionEvent evt) {
i = 1;
jLNote.setText(Integer.toString(i) + ".Note");
summe = 0;
besteNote = 6;
schlechtesteNote = 0;
jBtnAnzahlUebernehmen.setVisible(true);
jTFNotenzahl.setEditable(true);
jLNote.setVisible(false);
jTFNote.setVisible(false);
jTFNote.setText("");
jBtnNoteUebernehmen.setVisible(false);
jTFNotenzahl.setText("");
jTFNotenzahl.requestFocus();
jLNotenschnitt.setText("");
jLBesteNote.setText("");
jLSchlechtesteNote.setText("");
jLNotenzahl.setText("");
jBtnNeu.setVisible(false);
}
private void jBtnEndeActionPerformed(ActionEvent evt) {
System.exit(0);
}
}