Quando un utente fa clic sull'angolo di una JFrame per ridimensionare e trascinare il mouse, il JFrame ridisegna in base alla posizione corrente del mouse mentre l'utente trascina. Come puoi ascoltare questi eventi?Ascolta gli eventi di ridimensionamento JFrame mentre l'utente trascina il mouse?
riportano di seguito le quello che ho attualmente provato:
public final class TestFrame extends JFrame {
public TestFrame() {
this.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
// This is only called when the user releases the mouse button.
System.out.println("componentResized");
}
});
}
// These methods do not appear to be called at all when a JFrame
// is being resized.
@Override
public void setSize(int width, int height) {
System.out.println("setSize");
}
@Override
public void setBounds(Rectangle r) {
System.out.println("setBounds A");
}
@Override
public void setBounds(int x, int y, int width, int height) {
System.out.println("setBounds B");
}
}
Come posso determinare e vincolare come l'utente ridimensiona una finestra (in base al rapporto di aspetto attuale della finestra) in quanto sono trascinando il mouse in giro?
@finnw puoi chiarire la ragione del tuo Bounty, perché vedo differenza tra 'Java_1.4' e' Java_1.5', ma non riesco a trovare diference per 'Java_6',' note' ma senza il più profondo controllando in 'Nested' e' Inherits Method' – mKorbel
@mKorbel, ho provato entrambi i metodi (ComponentListener su JPanel; Override validate.) Il codice viene compilato ed eseguito in entrambe le versioni di Java ma in Java 1.6 il layout viene ricalcolato continuamente, ma in Java 1.5 solo quando rilascio il mouse. – finnw
@finnw stai ridimensionando JComponent o JFrame – mKorbel