< prev index next >
src/java.desktop/share/classes/javax/swing/JSpinner.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 27,36 ****
--- 27,38 ----
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
+ import javax.swing.plaf.FontUIResource;
+ import javax.swing.plaf.UIResource;
import javax.swing.text.*;
import javax.swing.plaf.SpinnerUI;
import java.util.*;
import java.beans.*;
*** 741,751 ****
return;
}
Object source = e.getSource();
String name = e.getPropertyName();
! if ((source instanceof JFormattedTextField) && "value".equals(name)) {
Object lastValue = spinner.getValue();
// Try to set the new value
try {
spinner.setValue(getTextField().getValue());
--- 743,754 ----
return;
}
Object source = e.getSource();
String name = e.getPropertyName();
! if (source instanceof JFormattedTextField) {
! if ("value".equals(name)) {
Object lastValue = spinner.getValue();
// Try to set the new value
try {
spinner.setValue(getTextField().getValue());
*** 757,766 ****
--- 760,780 ----
// Still bogus, nothing else we can do, the
// SpinnerModel and JFormattedTextField are now out
// of sync.
}
}
+ } else if ("font".equals(name)) {
+ Object newfont = e.getNewValue();
+ if (newfont instanceof UIResource) {
+ // The text field font must match the JSpinner font if
+ // the text field font was not set by the user
+ Font font = spinner.getFont();
+ if (!newfont.equals(font)) {
+ getTextField().setFont(new FontUIResource(font));
+ }
+ }
+ }
}
}
/**
< prev index next >