Hi,
here another patch to remove warnings in the Swing classes.
When compiling with
-Xlint -J-Xms80m -J-Xmx256m -Xlint:-serial -Xlint:-deprecation
-Xlint:-fallthrough -Xmaxwarns
2300
this patch reduces the number of reported warnings from 112 to 95.
Again, I tried only to change things related to the warnings and not to change
any public or protected APIs in public or protected classes in this patch.
At many places I tried to add type parameters as meaningful as possible,
but with some cases I just used Object, if a more meaningful type
parameter was not so trivial. You might want to refactor this if needed.
(Though everything should work as it is.)
In this past year we could reduce the number of reported warnings from ca.
1277 to 95 when compiling with
-Xlint -J-Xms80m -J-Xmx256m -Xlint:-serial -Xlint:-deprecation
-Xlint:-fallthrough -Xmaxwarns
2300
When this patch will be commited, I will finally start working on the actual
task: adding generics to the Swing-framework. With 'only' 95 warnings left,
it should be much easier now to see if I introduce new warnings while working
on this task (especially unchecked and cast warnings).
-Florian
diff -r bdfe33408ed8 src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java
--- a/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java Thu Nov 20 01:12:26 2008 +0100
@@ -1073,7 +1073,7 @@ class GTKFileChooserUI extends SynthFile
* Data model for a type-face selection combo-box.
*/
protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel {
- Vector directories = new Vector();
+ Vector<File> directories = new Vector<File>();
File selectedDirectory = null;
JFileChooser chooser = getFileChooser();
FileSystemView fsv = chooser.getFileSystemView();
diff -r bdfe33408ed8 src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
--- a/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java Thu Nov 20 01:12:26 2008 +0100
@@ -1470,7 +1470,7 @@ public class GTKLookAndFeel extends Synt
aaTextInfo = SwingUtilities2.AATextInfo.getAATextInfo(gtkAAFontSettingsCond);
}
- static ReferenceQueue queue = new ReferenceQueue();
+ static ReferenceQueue<GTKLookAndFeel> queue = new ReferenceQueue<GTKLookAndFeel>();
private static void flushUnreferenced() {
WeakPCL pcl;
@@ -1480,12 +1480,12 @@ public class GTKLookAndFeel extends Synt
}
}
- static class WeakPCL extends WeakReference implements
+ static class WeakPCL extends WeakReference<GTKLookAndFeel> implements
PropertyChangeListener {
private Toolkit kit;
private String key;
- WeakPCL(Object target, Toolkit kit, String key) {
+ WeakPCL(GTKLookAndFeel target, Toolkit kit, String key) {
super(target, queue);
this.kit = kit;
this.key = key;
@@ -1494,7 +1494,7 @@ public class GTKLookAndFeel extends Synt
public String getKey() { return key; }
public void propertyChange(final PropertyChangeEvent pce) {
- final GTKLookAndFeel lnf = (GTKLookAndFeel)get();
+ final GTKLookAndFeel lnf = get();
if (lnf == null || UIManager.getLookAndFeel() != lnf) {
// The property was GC'ed, we're no longer interested in
diff -r bdfe33408ed8 src/share/classes/javax/swing/ImageIcon.java
--- a/src/share/classes/javax/swing/ImageIcon.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/ImageIcon.java Thu Nov 20 01:12:26 2008 +0100
@@ -86,7 +86,7 @@ public class ImageIcon implements Icon,
static {
component = new Component() {};
- AccessController.doPrivileged(new PrivilegedAction() {
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
try {
// 6482575 - clear the appContext field so as not to leak it
diff -r bdfe33408ed8 src/share/classes/javax/swing/ProgressMonitor.java
--- a/src/share/classes/javax/swing/ProgressMonitor.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/ProgressMonitor.java Thu Nov 20 01:12:26 2008 +0100
@@ -185,8 +185,8 @@ public class ProgressMonitor extends Obj
dialog = new JDialog((Dialog)window, title, false);
}
if (window instanceof SwingUtilities.SharedOwnerFrame) {
- WindowListener ownerShutdownListener =
- (WindowListener)SwingUtilities.getSharedOwnerFrameShutdownListener();
+ WindowListener ownerShutdownListener =
+ SwingUtilities.getSharedOwnerFrameShutdownListener();
dialog.addWindowListener(ownerShutdownListener);
}
Container contentPane = dialog.getContentPane();
@@ -273,7 +273,7 @@ public class ProgressMonitor extends Obj
if (dT >= millisToDecideToPopup) {
int predictedCompletionTime;
if (nv > min) {
- predictedCompletionTime = (int)((long)dT *
+ predictedCompletionTime = (int)(dT *
(max - min) /
(nv - min));
}
diff -r bdfe33408ed8 src/share/classes/javax/swing/SwingWorker.java
--- a/src/share/classes/javax/swing/SwingWorker.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/SwingWorker.java Thu Nov 20 01:12:26 2008 +0100
@@ -825,7 +825,7 @@ public abstract class SwingWorker<T, V>
}
private static class DoSubmitAccumulativeRunnable
extends AccumulativeRunnable<Runnable> implements ActionListener {
- private final static int DELAY = (int) (1000 / 30);
+ private final static int DELAY = 1000 / 30;
@Override
protected void run(List<Runnable> args) {
for (Runnable runnable : args) {
diff -r bdfe33408ed8 src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java
--- a/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java Thu Nov 20 01:12:26 2008 +0100
@@ -128,8 +128,7 @@ public class DefaultColorSelectionModel
* @since 1.4
*/
public ChangeListener[] getChangeListeners() {
- return (ChangeListener[])listenerList.getListeners(
- ChangeListener.class);
+ return listenerList.getListeners(ChangeListener.class);
}
/**
diff -r bdfe33408ed8 src/share/classes/javax/swing/table/DefaultTableColumnModel.java
--- a/src/share/classes/javax/swing/table/DefaultTableColumnModel.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/table/DefaultTableColumnModel.java Thu Nov 20 01:12:26 2008 +0100
@@ -190,7 +190,7 @@ public class DefaultTableColumnModel imp
fireColumnMoved(new TableColumnModelEvent(this, columnIndex, newIndex));
return;
}
- aColumn = (TableColumn)tableColumns.elementAt(columnIndex);
+ aColumn = tableColumns.elementAt(columnIndex);
tableColumns.removeElementAt(columnIndex);
boolean selected = selectionModel.isSelectedIndex(columnIndex);
@@ -291,7 +291,7 @@ public class DefaultTableColumnModel imp
* at <code>columnIndex</code>
*/
public TableColumn getColumn(int columnIndex) {
- return (TableColumn)tableColumns.elementAt(columnIndex);
+ return tableColumns.elementAt(columnIndex);
}
/**
@@ -504,8 +504,7 @@ public class DefaultTableColumnModel imp
* @since 1.4
*/
public TableColumnModelListener[] getColumnModelListeners() {
- return (TableColumnModelListener[])listenerList.getListeners(
- TableColumnModelListener.class);
+ return listenerList.getListeners(TableColumnModelListener.class);
}
//
diff -r bdfe33408ed8 src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java
--- a/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java Thu Nov 20 01:12:26 2008 +0100
@@ -1302,7 +1302,7 @@ public class DefaultMutableTreeNode exte
public PreorderEnumeration(TreeNode rootNode) {
super();
- Vector v = new Vector(1);
+ Vector<TreeNode> v = new Vector<TreeNode>(1);
v.addElement(rootNode); // PENDING: don't really need a vector
stack = new Stack();
stack.push(v.elements());
@@ -1353,8 +1353,7 @@ public class DefaultMutableTreeNode exte
if (subtree.hasMoreElements()) {
retval = subtree.nextElement();
} else if (children.hasMoreElements()) {
- subtree = new PostorderEnumeration(
- (TreeNode)children.nextElement());
+ subtree = new PostorderEnumeration(children.nextElement());
retval = subtree.nextElement();
} else {
retval = root;
@@ -1373,7 +1372,7 @@ public class DefaultMutableTreeNode exte
public BreadthFirstEnumeration(TreeNode rootNode) {
super();
- Vector v = new Vector(1);
+ Vector<TreeNode> v = new Vector<TreeNode>(1);
v.addElement(rootNode); // PENDING: don't really need a vector
queue = new Queue();
queue.enqueue(v.elements());
diff -r bdfe33408ed8 src/share/classes/javax/swing/undo/CompoundEdit.java
--- a/src/share/classes/javax/swing/undo/CompoundEdit.java Tue Nov 18 15:59:36 2008 +0900
+++ b/src/share/classes/javax/swing/undo/CompoundEdit.java Thu Nov 20 01:12:26 2008 +0100
@@ -59,7 +59,7 @@ public class CompoundEdit extends Abstra
super.undo();
int i = edits.size();
while (i-- > 0) {
- UndoableEdit e = (UndoableEdit)edits.elementAt(i);
+ UndoableEdit e = edits.elementAt(i);
e.undo();
}
}
@@ -85,7 +85,7 @@ public class CompoundEdit extends Abstra
protected UndoableEdit lastEdit() {
int count = edits.size();
if (count > 0)
- return (UndoableEdit)edits.elementAt(count-1);
+ return edits.elementAt(count-1);
else
return null;
}
@@ -98,7 +98,7 @@ public class CompoundEdit extends Abstra
int size = edits.size();
for (int i = size-1; i >= 0; i--)
{
- UndoableEdit e = (UndoableEdit)edits.elementAt(i);
+ UndoableEdit e = edits.elementAt(i);
// System.out.println("CompoundEdit(" + i + "): Discarding " +
// e.getUndoPresentationName());
e.die();