Hallo allerseits,
ich muss hier nochmal voranstellen dass ich eigtl. aus der Delphi-ecke komme und versuche mich jetzt in Java einzuarbeiten:
Also, da hab ich ein JPanel, und ich möchte reagieren wenn sich die Grösse verändert:
private JPanel getJSelPanel() {
if (jSelPanel == null) {
jSelPanel = new JPanel();
jSelPanel.setPreferredSize(new Dimension( 128, 24 ) );
}
return jSelBotPanel;
}
Bisher ( Delphi ) habe ich einfach das "on Resize" Ereignis des Panels angeklickt, es wurde eine entsprechende Methode generiert,
zack - fertig.
Für Java habe ich folgendes gefunden: http://java.sun.com/docs/books/tutorial/uiswing/events/componentlistener.html
Verstehe ich das richtig? ich muss:
1.: das JPanel beim "ComponenLlistener" registrieren:
private JPanel getJSelPanel() {
if (jSelPanel == null) {
jSelPanel = new JPanel();
jSelPanel.setPreferredSize(new Dimension( 128, 24 ) );
jSelPanel.addComponentListener (this);
}
return jSelBotPanel;
}
2.: die Definition der Hauptklasse anpassen:
public class SwingVEapp2
extends JPanel
implements ComponentListener, ItemListener {
und habe dann 3.: eine Methode zum reagieren:
@Override
public void componentResized(ComponentEvent arg0) {
........
}
die genialerweise beim ,resize' aller andern komponenten ebenfalls aufgerufen wird!
Bitte bitte, sagt mir dass es da noch eine andere möglichkeit gibt das resize-Ereignis zu behandeln,
ohne die Fummelei an der Hauptklasse, und dezidiert nur für ein spezielles jPanel...
Thx.
ich muss hier nochmal voranstellen dass ich eigtl. aus der Delphi-ecke komme und versuche mich jetzt in Java einzuarbeiten:
Also, da hab ich ein JPanel, und ich möchte reagieren wenn sich die Grösse verändert:
private JPanel getJSelPanel() {
if (jSelPanel == null) {
jSelPanel = new JPanel();
jSelPanel.setPreferredSize(new Dimension( 128, 24 ) );
}
return jSelBotPanel;
}
Bisher ( Delphi ) habe ich einfach das "on Resize" Ereignis des Panels angeklickt, es wurde eine entsprechende Methode generiert,
zack - fertig.
Für Java habe ich folgendes gefunden: http://java.sun.com/docs/books/tutorial/uiswing/events/componentlistener.html
Verstehe ich das richtig? ich muss:
1.: das JPanel beim "ComponenLlistener" registrieren:
private JPanel getJSelPanel() {
if (jSelPanel == null) {
jSelPanel = new JPanel();
jSelPanel.setPreferredSize(new Dimension( 128, 24 ) );
jSelPanel.addComponentListener (this);
}
return jSelBotPanel;
}
2.: die Definition der Hauptklasse anpassen:
public class SwingVEapp2
extends JPanel
implements ComponentListener, ItemListener {
und habe dann 3.: eine Methode zum reagieren:
@Override
public void componentResized(ComponentEvent arg0) {
........
}
die genialerweise beim ,resize' aller andern komponenten ebenfalls aufgerufen wird!
Bitte bitte, sagt mir dass es da noch eine andere möglichkeit gibt das resize-Ereignis zu behandeln,
ohne die Fummelei an der Hauptklasse, und dezidiert nur für ein spezielles jPanel...
Thx.