Liebe Gemeinde, ich bin noch relativ neu in der Java und auch in der Programmierwelt und sitze nun schon seit mehreren Tagen an einer Übungsaufgabe an der ich einfach nicht wieterkomme. Durch Google konnte ich leider keine Antwort, bzw. Hilfe finden und privat kenne ich niemanden, der sich mit Java und Programmieren befasst. So:
es soll ein Frame entwickelt werden, welches eine Notenbilanz ausrechnen soll. Der Knackpunkt ist, dass dabei JLabels und JTextFields, sowie JButtons ein- bzw. ausgeblendet werden sollen. Dies habe ich, denke ich hinbekommen. Siehe Code. Das Problem ist folgendes: das zweite TextField (txtNote) hat die y-Bounds 110.Die Dicke 20. Alle JLabels die ich darunter einblenden möchte. Quasi 130 und mehr werden nicht mehr auf den Frame angezeigt. Wo habe ich meinen Denkfehler? Was übersehe ich? Oder habe ich eventuell falsche Einstellungen in Eclipse?
es soll ein Frame entwickelt werden, welches eine Notenbilanz ausrechnen soll. Der Knackpunkt ist, dass dabei JLabels und JTextFields, sowie JButtons ein- bzw. ausgeblendet werden sollen. Dies habe ich, denke ich hinbekommen. Siehe Code. Das Problem ist folgendes: das zweite TextField (txtNote) hat die y-Bounds 110.Die Dicke 20. Alle JLabels die ich darunter einblenden möchte. Quasi 130 und mehr werden nicht mehr auf den Frame angezeigt. Wo habe ich meinen Denkfehler? Was übersehe ich? Oder habe ich eventuell falsche Einstellungen in Eclipse?
Code:
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.Rectangle;
public class Notenbilanz extends JFrame {
private JPanel contentPane;
private JTextField txtAnzahlNoten;
private JTextField txtNote;
private JButton btnUebernehmenNote, btnUebernehmenAnzahl, btnNeueBerechnung, btnEnde;
private JLabel lblAnzahlEingegebenerNoten, lblNotenschnitt, lblNotenZaehler, lblBesteNote, lblSchlechtesteNote;
private int counter = 0;
private double durchschnitt;
/**
* 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() {
setBounds(new Rectangle(465, 300, 0, 0));
setTitle("Notenbilanz");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(465, 300, 468, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblAnzahlNoten = new JLabel("Anzahl Noten");
lblAnzahlNoten.setBounds(10, 10, 75, 20);
contentPane.add(lblAnzahlNoten);
txtAnzahlNoten = new JTextField();
txtAnzahlNoten.setBounds(10, 40, 75, 20);
txtAnzahlNoten.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
if (txtAnzahlNoten.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Geben Sie die Notenanzahl ein");
} else {
labelEinblenden();
}
}
}
});
contentPane.add(txtAnzahlNoten);
txtAnzahlNoten.setColumns(10);
txtNote = new JTextField();
txtNote.setBounds(10, 110, 75, 20);
txtNote.setVisible(false);
contentPane.add(txtNote);
txtNote.setColumns(10);
btnUebernehmenAnzahl = new JButton("\u00DCbernehmen");
btnUebernehmenAnzahl.setBounds(110, 40, 150, 20);
btnUebernehmenAnzahl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (txtAnzahlNoten.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Geben Sie die Notenanzahl ein");
} else {
labelEinblenden();
}
}
});
contentPane.add(btnUebernehmenAnzahl);
btnEnde = new JButton("Ende");
btnEnde.setBounds(335, 230, 90, 20);
btnEnde.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
contentPane.add(btnEnde);
btnNeueBerechnung = new JButton("Neue Berechnung");
btnNeueBerechnung.setBounds(290, 10, 150, 20);
btnNeueBerechnung.setVisible(false);
contentPane.add(btnNeueBerechnung);
}
private void labelEinblenden() {
txtNote.setVisible(true);
txtNote.requestFocus();
txtAnzahlNoten.setOpaque(false);
txtAnzahlNoten.setEditable(false);
btnUebernehmenAnzahl.setVisible(false);
lblNotenZaehler = new JLabel(counter +". Note");
lblNotenZaehler.setBounds(10, 85, 75, 20);
contentPane.add(lblNotenZaehler);
lblAnzahlEingegebenerNoten = new JLabel("Anzahl eingegebener Noten: " + counter);
lblAnzahlEingegebenerNoten.setBounds(10, 140, 250, 20);
contentPane.add(lblAnzahlEingegebenerNoten);
lblNotenschnitt = new JLabel("Notenschnitt: " + durchschnitt);
lblNotenschnitt.setBounds(10, 170, 250, 20);
contentPane.add(lblNotenschnitt);
lblBesteNote = new JLabel("beste Note");
lblBesteNote.setBounds(10, 200, 250, 20);
contentPane.add(lblBesteNote);
lblSchlechtesteNote = new JLabel("schlechtest Note");
lblSchlechtesteNote.setBounds(10, 230, 250, 20);
contentPane.add(lblSchlechtesteNote);
btnUebernehmenNote = new JButton("\u00DCbernehmen");
btnUebernehmenNote.setBounds(110, 110, 150, 20);
contentPane.add(btnUebernehmenNote);
}
}