mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-12 23:07:15 -06:00
PasswordField, TextField and ScrollPane: release Handler object on uninstall
This commit is contained in:
@@ -41,7 +41,7 @@ public class FlatPasswordFieldUI
|
|||||||
{
|
{
|
||||||
protected int focusWidth;
|
protected int focusWidth;
|
||||||
|
|
||||||
private final Handler handler = new Handler();
|
private Handler handler;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatPasswordFieldUI();
|
return new FlatPasswordFieldUI();
|
||||||
@@ -58,14 +58,22 @@ public class FlatPasswordFieldUI
|
|||||||
protected void installListeners() {
|
protected void installListeners() {
|
||||||
super.installListeners();
|
super.installListeners();
|
||||||
|
|
||||||
getComponent().addFocusListener( handler );
|
getComponent().addFocusListener( getHandler() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void uninstallListeners() {
|
protected void uninstallListeners() {
|
||||||
super.uninstallListeners();
|
super.uninstallListeners();
|
||||||
|
|
||||||
getComponent().removeFocusListener( handler );
|
getComponent().removeFocusListener( getHandler() );
|
||||||
|
|
||||||
|
handler = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Handler getHandler() {
|
||||||
|
if( handler == null )
|
||||||
|
handler = new Handler();
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ import javax.swing.plaf.basic.BasicScrollPaneUI;
|
|||||||
public class FlatScrollPaneUI
|
public class FlatScrollPaneUI
|
||||||
extends BasicScrollPaneUI
|
extends BasicScrollPaneUI
|
||||||
{
|
{
|
||||||
private final Handler handler = new Handler();
|
private Handler handler;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatScrollPaneUI();
|
return new FlatScrollPaneUI();
|
||||||
@@ -50,7 +50,7 @@ public class FlatScrollPaneUI
|
|||||||
|
|
||||||
JViewport viewport = scrollpane.getViewport();
|
JViewport viewport = scrollpane.getViewport();
|
||||||
if( viewport != null )
|
if( viewport != null )
|
||||||
viewport.addContainerListener( handler );
|
viewport.addContainerListener( getHandler() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -59,7 +59,15 @@ public class FlatScrollPaneUI
|
|||||||
|
|
||||||
JViewport viewport = scrollpane.getViewport();
|
JViewport viewport = scrollpane.getViewport();
|
||||||
if( viewport != null )
|
if( viewport != null )
|
||||||
viewport.removeContainerListener( handler );
|
viewport.removeContainerListener( getHandler() );
|
||||||
|
|
||||||
|
handler = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Handler getHandler() {
|
||||||
|
if( handler == null )
|
||||||
|
handler = new Handler();
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -70,18 +78,18 @@ public class FlatScrollPaneUI
|
|||||||
JViewport newViewport = (JViewport) (e.getNewValue());
|
JViewport newViewport = (JViewport) (e.getNewValue());
|
||||||
|
|
||||||
if( oldViewport != null ) {
|
if( oldViewport != null ) {
|
||||||
oldViewport.removeContainerListener( handler );
|
oldViewport.removeContainerListener( getHandler() );
|
||||||
|
|
||||||
Component oldView = oldViewport.getView();
|
Component oldView = oldViewport.getView();
|
||||||
if( oldView != null )
|
if( oldView != null )
|
||||||
oldView.removeFocusListener( handler );
|
oldView.removeFocusListener( getHandler() );
|
||||||
}
|
}
|
||||||
if( newViewport != null ) {
|
if( newViewport != null ) {
|
||||||
newViewport.addContainerListener( handler );
|
newViewport.addContainerListener( getHandler() );
|
||||||
|
|
||||||
Component newView = newViewport.getView();
|
Component newView = newViewport.getView();
|
||||||
if( newView != null )
|
if( newView != null )
|
||||||
newView.addFocusListener( handler );
|
newView.addFocusListener( getHandler() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class FlatTextFieldUI
|
|||||||
{
|
{
|
||||||
protected int focusWidth;
|
protected int focusWidth;
|
||||||
|
|
||||||
private final Handler handler = new Handler();
|
private Handler handler;
|
||||||
|
|
||||||
public static ComponentUI createUI( JComponent c ) {
|
public static ComponentUI createUI( JComponent c ) {
|
||||||
return new FlatTextFieldUI();
|
return new FlatTextFieldUI();
|
||||||
@@ -58,14 +58,22 @@ public class FlatTextFieldUI
|
|||||||
protected void installListeners() {
|
protected void installListeners() {
|
||||||
super.installListeners();
|
super.installListeners();
|
||||||
|
|
||||||
getComponent().addFocusListener( handler );
|
getComponent().addFocusListener( getHandler() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void uninstallListeners() {
|
protected void uninstallListeners() {
|
||||||
super.uninstallListeners();
|
super.uninstallListeners();
|
||||||
|
|
||||||
getComponent().removeFocusListener( handler );
|
getComponent().removeFocusListener( getHandler() );
|
||||||
|
|
||||||
|
handler = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Handler getHandler() {
|
||||||
|
if( handler == null )
|
||||||
|
handler = new Handler();
|
||||||
|
return handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user