Come Adamo Paynter ha suggerito, è anche possibile aggiungere una classe interna al codice, in questo modo:
class ResizeListener extends ComponentAdapter {
public void componentResized(ComponentEvent e) {
// Recalculate the variable you mentioned
}
}
Il codice che avete inserito tra le parentesi più interne sarà eseguito ogni volta che il componente di ottenere ridimensionato .
quindi si aggiunge questo listener per il componente con
myJPanel.addComponentListener(new ResizeListener());
È possibile ottenere il componente utilizzando e.getComponent()
. In questo modo è possibile chiamare qualsiasi metodo del componente dall'interno della classe interna come
e.getComponent().getWeight();
è il calcolo lungo/tempo? – jjnguy