G
Goldiemaus
Gast
Hallo!
Ich brauch mal Hilfe!
Wir haben eine Hausaufgabe bekommen, die ich auch hinbekommen hab und danach hab ich mir gedacht ich bastel noch ne GUI dazu, die eigentlich auch funktioniert, bis auf einen kleinen Schönheitsfehler:
Ich klicke auf einen Button (dann soll ein Panel in das Frame geadded werden und dort soll ein Bild gezeichnet werden) doch dieses Bild erscheint erst nachdem ich das JFrame ein bisschen größer gezogen hab, vielleicht sieht einer mein Fehler, ich bin mir sicher, dass ich wohl irgendwas vergessen hab oder irgend ne kleinigkeit falsch hab aber ich komm nicht drauf, hier mal mein Code:
Ich hoffe das reicht zur Problemlösung, wenn nicht poste ich die andren beiden Klassen auch noch, wäre sehr sehr nett wenn mir jemand helfen könnte
Ich brauch mal Hilfe!
Wir haben eine Hausaufgabe bekommen, die ich auch hinbekommen hab und danach hab ich mir gedacht ich bastel noch ne GUI dazu, die eigentlich auch funktioniert, bis auf einen kleinen Schönheitsfehler:
Ich klicke auf einen Button (dann soll ein Panel in das Frame geadded werden und dort soll ein Bild gezeichnet werden) doch dieses Bild erscheint erst nachdem ich das JFrame ein bisschen größer gezogen hab, vielleicht sieht einer mein Fehler, ich bin mir sicher, dass ich wohl irgendwas vergessen hab oder irgend ne kleinigkeit falsch hab aber ich komm nicht drauf, hier mal mein Code:
Code:
import javax.swing.*;
import javax.swing.plaf.basic.BasicOptionPaneUI.ButtonActionListener;
import java.awt.*;
//Event brauchen wir für das Ereigniss, wenn ein Button geklickt wird
import java.awt.event.*;
public class GUI extends JFrame {
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JPanel panelButton;
private JLabel oben;
private JLabel anzeige;
public GUI() {
super("HSV-Anzeige-Bildprogramm");
setLocation(10, 10);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout(5, 5));
// Buttons erzeugen
button1 = new JButton("Originalbild");
button2 = new JButton("Kanal 1: H");
button3 = new JButton("Kanal 2: S");
button4 = new JButton("Kanal 3: B");
button5 = new JButton("Exif-Daten");
// Panels erzeugen
panelButton = new JPanel(new GridLayout(5, 1));
// Auf Panel Buttons packen
panelButton.add(button1);
panelButton.add(button2);
panelButton.add(button3);
panelButton.add(button4);
panelButton.add(button5);
// Listener für Buttons
addButtonListener(button1);
addButtonListener(button2);
addButtonListener(button3);
addButtonListener(button4);
addButtonListener(button5);
// Labels erzeugen
oben = new JLabel("Bilderprogramm");
// Label zentrieren
oben.setHorizontalAlignment(JLabel.CENTER);
anzeige = new JLabel();
// Labels auf Frame packen
getContentPane().add(BorderLayout.NORTH, oben);
getContentPane().add(anzeige);
// Panels auf Frame packen
getContentPane().add(BorderLayout.WEST, panelButton);
pack();
setVisible(true);
}
public static void main(String[] args) {
new GUI();
}
private void addButtonListener(JButton b) {
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JPanel panel;
if (ae.getSource() == button1) {
anzeige.removeAll();
panel = new Farbraeume();
panel.setSize(532, 502);
panel.setVisible(true);
anzeige.add(panel);
anzeige.setVisible(true);
} else if (ae.getSource() == button2) {
anzeige.removeAll();
panel = new Farbraeume('h');
panel.setSize(532, 502);
panel.setVisible(true);
anzeige.add(panel);
anzeige.setVisible(true);
} else if (ae.getSource() == button3) {
anzeige.removeAll();
panel = new Farbraeume('s');
panel.setSize(532, 502);
panel.setVisible(true);
anzeige.add(panel);
anzeige.setVisible(true);
} else if (ae.getSource() == button4) {
anzeige.removeAll();
panel = new Farbraeume('v');
panel.setSize(532, 502);
panel.setVisible(true);
anzeige.add(panel);
anzeige.setVisible(true);
} else if (ae.getSource() == button5) {
anzeige.removeAll();
panel = new ExifReader();
panel.setSize(650, 230);
panel.setLocation(0,0);
panel.setVisible(true);;
anzeige.add(panel);
anzeige.setVisible(true);
}
else
anzeige.setText("Fehler");
}
});
}
}
Ich hoffe das reicht zur Problemlösung, wenn nicht poste ich die andren beiden Klassen auch noch, wäre sehr sehr nett wenn mir jemand helfen könnte