stockhausen
Grünschnabel
Hallo Zusammen,
mich plagen zur Zeit zwei Probleme:
1)
GUI beschreibung:
Wie in der Abbildung zu sehen ist, wird "Hello ?" innerhalb des Hauptpanels angezeigt.
Sobald der Anwender unten auf dem Knopf drückt, sooll der Inhalt des Hauptpanels gelöscht und neu gesetzt werden. In diesem Fall setzt die Methode "setNewContent()" ein neues Label innerhalb des Hauptpanels.
Screenshot:
http://img69.imageshack.us/img69/5808/000lh.jpg
Mein Problem:
Nachdem Setzten des Hauptpanels wird das neue Label "Hello World!" nicht angezeigt!
Erst wenn ich mit der Maus die Größe des Fensters ändere, wird das Fenster neu gerendert!
Was muss ich machen, damit die Änderung gleich sichtbar wird?
Code:
2)
Mein button wurde mit einem ActionListener versehen.
Ich möchte gerne einen zweiten button anbringen und ebenfalls mit dem Label "save" versehen.
Wie kann ich die beiden Button voneinander unterscheiden? So wie ich vorgegangen bin, reagiert der Listener bei allen Buttons mit dem Label "save"!
Ich bin für jede Hilfe dankbar!
Gruß,
Michael
mich plagen zur Zeit zwei Probleme:
1)
GUI beschreibung:
Wie in der Abbildung zu sehen ist, wird "Hello ?" innerhalb des Hauptpanels angezeigt.
Sobald der Anwender unten auf dem Knopf drückt, sooll der Inhalt des Hauptpanels gelöscht und neu gesetzt werden. In diesem Fall setzt die Methode "setNewContent()" ein neues Label innerhalb des Hauptpanels.
Screenshot:
http://img69.imageshack.us/img69/5808/000lh.jpg
Mein Problem:
Nachdem Setzten des Hauptpanels wird das neue Label "Hello World!" nicht angezeigt!
Erst wenn ich mit der Maus die Größe des Fensters ändere, wird das Fenster neu gerendert!
Was muss ich machen, damit die Änderung gleich sichtbar wird?
Code:
Code:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Test implements ActionListener {
JFrame frame;
JPanel mainPanel;
public Test() {
frame = new JFrame();
frame.setMinimumSize(new Dimension(500, 300));
mainPanel = new JPanel();
mainPanel = new JPanel(new BorderLayout());
mainPanel.add(new JLabel("Hello ?"), BorderLayout.NORTH);
mainPanel.add(new JLabel(""), BorderLayout.CENTER);
JButton button = new JButton("Save");
button.addActionListener(this);
mainPanel.add(button, BorderLayout.SOUTH);
frame.add(mainPanel);
frame.setLocationRelativeTo(null);
frame.setSize(frame.getPreferredSize());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.pack();
}
private void setNewContent() {
mainPanel.remove(0);
mainPanel.add(new JLabel("Hello World!"), 0);
mainPanel.repaint();
frame.repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand() == "save") {
System.out.println(e.getActionCommand());
}
setNewContent();
}
public static void main(String[] args) {
Test test = new Test();
}
}
2)
Mein button wurde mit einem ActionListener versehen.
Ich möchte gerne einen zweiten button anbringen und ebenfalls mit dem Label "save" versehen.
Code:
if(e.getActionCommand() == "save") {
System.out.println(e.getActionCommand());
}
Wie kann ich die beiden Button voneinander unterscheiden? So wie ich vorgegangen bin, reagiert der Listener bei allen Buttons mit dem Label "save"!
Ich bin für jede Hilfe dankbar!
Gruß,
Michael