JFrame add(componets)

j4v4

Grünschnabel
Hallo,

Ich habe ein JFrame (Swing) in diesem Frame ist ein Button,
wenn man diesen Button anklickt soll ein JPanel in das JFrame
hinzugefügt werden.

Ich habe dem Button einen ActionListener hinzugefügt, der das JPanel
definiert und dem JFrame hinzufügt.
Das funktioniert bei mir nicht.
Habe ich einen Fehler gemacht?

Lg j4v4
 
Zuletzt bearbeitet:
Hier der ActionListener:

Code:
private static ActionListener cl = new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			try {
				frame.add(diagramBit(Color.black, 30, 40, screenWidth / 2, screenHeight / 2));
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			globalCatNum++;
		}
	};


Hier die Funktion diagramBit :

Code:
public static JPanel diagramBit(Color color, int width, int height,
			int positionX, int positionY) {
		JPanel bit = new JPanel();
		bit.setBackground(color);
		bit.setBounds(positionX, positionY, width, height);
		bit.setLayout(null);
		bit.setVisible(true);
		return bit;
	}
 
Während man in Java 1.4 noch Fehler für sowas bekommen hat funktioniert das in Java 1.6 wunderbar, da nun ein redirect von JFrame.add auf JFrame.getContentPane().add() durchgeführt wird.

Wenn man natürlich abwärtskompatibel programmieren will sollte man getContentPane().add() benutzen.
 
Hallo,

ja bei allen anderen "adds" hab getContentPane hinzugefügt.
Bei diesem beispiel hab ich nur schnell einen Frame mit einem Container ausgetauscht.
Bei Containern verwendet man ja kein getContentPane();

Lg j4v4
 
Zurück