From a08bd102f77dc0be9aca3840c05ea19c9795a414 Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Wed, 29 Jan 2014 16:35:42 +0400 Subject: [PATCH] 8032435: Cleanup of sun.awt.windows package Reviewed-by: art, pchelko --- .../classes/sun/awt/windows/ThemeReader.java | 14 ++- .../classes/sun/awt/windows/ThemeReader.java | 79 +++++++++------- .../awt/windows/TranslucentWindowPainter.java | 8 +- .../sun/awt/windows/WBufferStrategy.java | 5 +- .../classes/sun/awt/windows/WButtonPeer.java | 9 +- .../classes/sun/awt/windows/WCanvasPeer.java | 21 +++-- .../awt/windows/WCheckboxMenuItemPeer.java | 11 ++- .../sun/awt/windows/WCheckboxPeer.java | 11 ++- .../classes/sun/awt/windows/WChoicePeer.java | 16 +++- .../classes/sun/awt/windows/WClipboard.java | 25 +++-- .../classes/sun/awt/windows/WColor.java | 4 +- .../sun/awt/windows/WComponentPeer.java | 56 +++++++++-- .../sun/awt/windows/WCustomCursor.java | 7 +- .../sun/awt/windows/WDataTransferer.java | 22 ++++- .../sun/awt/windows/WDefaultFontCharset.java | 10 +- .../classes/sun/awt/windows/WDesktopPeer.java | 10 +- .../sun/awt/windows/WDesktopProperties.java | 5 +- .../classes/sun/awt/windows/WDialogPeer.java | 14 ++- .../awt/windows/WDropTargetContextPeer.java | 15 ++- .../sun/awt/windows/WEmbeddedFrame.java | 10 +- .../sun/awt/windows/WEmbeddedFramePeer.java | 7 +- .../sun/awt/windows/WFileDialogPeer.java | 51 ++++++++-- .../sun/awt/windows/WFontConfiguration.java | 14 ++- .../classes/sun/awt/windows/WFontMetrics.java | 15 ++- .../classes/sun/awt/windows/WFontPeer.java | 5 +- .../classes/sun/awt/windows/WFramePeer.java | 13 ++- .../sun/awt/windows/WGlobalCursorManager.java | 8 +- .../classes/sun/awt/windows/WInputMethod.java | 25 ++++- .../awt/windows/WInputMethodDescriptor.java | 9 +- .../windows/WKeyboardFocusManagerPeer.java | 4 +- .../classes/sun/awt/windows/WListPeer.java | 21 ++++- .../classes/sun/awt/windows/WMenuBarPeer.java | 7 +- .../classes/sun/awt/windows/WMenuPeer.java | 5 +- .../windows/WMouseDragGestureRecognizer.java | 18 ++-- .../classes/sun/awt/windows/WPageDialog.java | 5 +- .../sun/awt/windows/WPageDialogPeer.java | 6 +- .../classes/sun/awt/windows/WPanelPeer.java | 8 +- .../sun/awt/windows/WPathGraphics.java | 11 ++- .../sun/awt/windows/WPopupMenuPeer.java | 10 +- .../classes/sun/awt/windows/WPrintDialog.java | 20 ++-- .../sun/awt/windows/WPrintDialogPeer.java | 44 +++++++-- .../classes/sun/awt/windows/WPrinterJob.java | 50 +++++++--- .../classes/sun/awt/windows/WRobotPeer.java | 13 ++- .../sun/awt/windows/WScrollPanePeer.java | 15 ++- .../sun/awt/windows/WSystemTrayPeer.java | 6 +- .../sun/awt/windows/WTextAreaPeer.java | 3 +- .../classes/sun/awt/windows/WToolkit.java | 93 +++++++++++++++++-- .../sun/awt/windows/WTrayIconPeer.java | 12 ++- .../classes/sun/awt/windows/WWindowPeer.java | 41 ++++++-- .../classes/sun/awt/windows/WingDings.java | 10 +- .../native/sun/windows/awt_PrintDialog.cpp | 13 +-- 51 files changed, 690 insertions(+), 224 deletions(-) diff --git a/jdk/src/solaris/classes/sun/awt/windows/ThemeReader.java b/jdk/src/solaris/classes/sun/awt/windows/ThemeReader.java index de379c0a3f5..7445cc2f5ff 100644 --- a/jdk/src/solaris/classes/sun/awt/windows/ThemeReader.java +++ b/jdk/src/solaris/classes/sun/awt/windows/ThemeReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2014, 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 @@ -25,7 +25,10 @@ package sun.awt.windows; -import java.awt.*; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Insets; +import java.awt.Point; /** @@ -36,7 +39,8 @@ import java.awt.*; * * @author Leif Samuelsson */ -public class ThemeReader { +public final class ThemeReader { + public static boolean isThemed() { return false; } @@ -84,16 +88,18 @@ public class ThemeReader { public static Dimension getPartSize(String widget, int part, int state) { return null; } + public static long getThemeTransitionDuration(String widget, int part, int stateFrom, int stateTo, int propId) { return 0; } + public static boolean isGetThemeTransitionDurationDefined() { return false; } + public static Insets getThemeBackgroundContentMargins(String widget, int part, int state, int boundingWidth, int boundingHeight) { return null; } - } diff --git a/jdk/src/windows/classes/sun/awt/windows/ThemeReader.java b/jdk/src/windows/classes/sun/awt/windows/ThemeReader.java index c749e5d382e..632489964e7 100644 --- a/jdk/src/windows/classes/sun/awt/windows/ThemeReader.java +++ b/jdk/src/windows/classes/sun/awt/windows/ThemeReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2014, 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 @@ -25,11 +25,15 @@ package sun.awt.windows; -import java.awt.*; -import java.util.*; -import java.util.concurrent.locks.*; -import java.beans.*; -import javax.swing.SwingUtilities; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Insets; +import java.awt.Point; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; /* !!!! WARNING !!!! * This class has to be in sync with @@ -45,9 +49,9 @@ import javax.swing.SwingUtilities; * @author Bino George * @author Igor Kushnirskiy */ -public class ThemeReader { - private static final HashMap widgetToTheme = - new HashMap(); +public final class ThemeReader { + + private static final Map widgetToTheme = new HashMap<>(); // lock for the cache // reading should be done with readLock @@ -70,7 +74,7 @@ public class ThemeReader { } } - public native static boolean isThemed(); + public static native boolean isThemed(); // this should be called only with writeLock held private static Long getThemeImpl(String widget) { @@ -109,8 +113,9 @@ public class ThemeReader { return theme; } - public native static void paintBackground(int[] buffer, long theme, int part, int state, - int x, int y, int w, int h, int stride); + private static native void paintBackground(int[] buffer, long theme, + int part, int state, int x, + int y, int w, int h, int stride); public static void paintBackground(int[] buffer, String widget, int part, int state, int x, int y, int w, int h, int stride) { @@ -122,8 +127,8 @@ public class ThemeReader { } } - public native static Insets getThemeMargins(long theme, int part, int state, - int marginType); + private static native Insets getThemeMargins(long theme, int part, + int state, int marginType); public static Insets getThemeMargins(String widget, int part, int state, int marginType) { readLock.lock(); @@ -134,7 +139,7 @@ public class ThemeReader { } } - private native static boolean isThemePartDefined(long theme, int part, int state); + private static native boolean isThemePartDefined(long theme, int part, int state); public static boolean isThemePartDefined(String widget, int part, int state) { readLock.lock(); @@ -145,8 +150,8 @@ public class ThemeReader { } } - public native static Color getColor(long theme, int part, int state, - int property); + private static native Color getColor(long theme, int part, int state, + int property); public static Color getColor(String widget, int part, int state, int property) { readLock.lock(); @@ -157,8 +162,8 @@ public class ThemeReader { } } - public native static int getInt(long theme, int part, int state, - int property); + private static native int getInt(long theme, int part, int state, + int property); public static int getInt(String widget, int part, int state, int property) { readLock.lock(); @@ -169,8 +174,8 @@ public class ThemeReader { } } - public native static int getEnum(long theme, int part, int state, - int property); + private static native int getEnum(long theme, int part, int state, + int property); public static int getEnum(String widget, int part, int state, int property) { readLock.lock(); @@ -181,8 +186,8 @@ public class ThemeReader { } } - public native static boolean getBoolean(long theme, int part, int state, - int property); + private static native boolean getBoolean(long theme, int part, int state, + int property); public static boolean getBoolean(String widget, int part, int state, int property) { @@ -194,7 +199,7 @@ public class ThemeReader { } } - public native static boolean getSysBoolean(long theme, int property); + private static native boolean getSysBoolean(long theme, int property); public static boolean getSysBoolean(String widget, int property) { readLock.lock(); @@ -205,8 +210,8 @@ public class ThemeReader { } } - public native static Point getPoint(long theme, int part, int state, - int property); + private static native Point getPoint(long theme, int part, int state, + int property); public static Point getPoint(String widget, int part, int state, int property) { readLock.lock(); @@ -217,8 +222,8 @@ public class ThemeReader { } } - public native static Dimension getPosition(long theme, int part, int state, - int property); + private static native Dimension getPosition(long theme, int part, int state, + int property); public static Dimension getPosition(String widget, int part, int state, int property) { @@ -230,7 +235,8 @@ public class ThemeReader { } } - public native static Dimension getPartSize(long theme, int part, int state); + private static native Dimension getPartSize(long theme, int part, + int state); public static Dimension getPartSize(String widget, int part, int state) { readLock.lock(); @@ -241,14 +247,15 @@ public class ThemeReader { } } - public native static long openTheme(String widget); + private static native long openTheme(String widget); - public native static void closeTheme(long theme); + private static native void closeTheme(long theme); - public native static void setWindowTheme(String subAppName); + private static native void setWindowTheme(String subAppName); - private native static long getThemeTransitionDuration(long theme, int part, + private static native long getThemeTransitionDuration(long theme, int part, int stateFrom, int stateTo, int propId); + public static long getThemeTransitionDuration(String widget, int part, int stateFrom, int stateTo, int propId) { readLock.lock(); @@ -259,10 +266,12 @@ public class ThemeReader { readLock.unlock(); } } - public native static boolean isGetThemeTransitionDurationDefined(); - private native static Insets getThemeBackgroundContentMargins(long theme, + public static native boolean isGetThemeTransitionDurationDefined(); + + private static native Insets getThemeBackgroundContentMargins(long theme, int part, int state, int boundingWidth, int boundingHeight); + public static Insets getThemeBackgroundContentMargins(String widget, int part, int state, int boundingWidth, int boundingHeight) { readLock.lock(); diff --git a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java index 8a6106ad57b..ff06aa50f94 100644 --- a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java +++ b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2014, 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 @@ -33,7 +33,6 @@ import java.awt.Window; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; import java.awt.image.VolatileImage; -import java.lang.ref.WeakReference; import java.security.AccessController; import sun.awt.image.BufImgSurfaceData; import sun.java2d.DestSurfaceProvider; @@ -46,7 +45,6 @@ import sun.java2d.pipe.hw.AccelSurface; import sun.security.action.GetPropertyAction; import static java.awt.image.VolatileImage.*; -import static java.awt.Transparency.*; import static sun.java2d.pipe.hw.AccelSurface.*; import static sun.java2d.pipe.hw.ContextCapabilities.*; @@ -59,7 +57,7 @@ import static sun.java2d.pipe.hw.ContextCapabilities.*; * Note: this class does not attempt to be thread safe, it is expected to be * called from a single thread (EDT). */ -public abstract class TranslucentWindowPainter { +abstract class TranslucentWindowPainter { protected Window window; protected WWindowPeer peer; @@ -231,6 +229,7 @@ public abstract class TranslucentWindowPainter { return (viBB != null ? !viBB.contentsLost() : true); } + @Override public void flush() { if (backBuffer != null) { backBuffer.flush(); @@ -313,6 +312,7 @@ public abstract class TranslucentWindowPainter { try { BufferedContext.validateContext(as); rq.flushAndInvokeNow(new Runnable() { + @Override public void run() { long psdops = as.getNativeOps(); arr[0] = updateWindowAccel(psdops, w, h); diff --git a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java index 4b346ca80a8..372b3ccf6d8 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java +++ b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, 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 @@ -34,8 +34,9 @@ import java.awt.Component; * the back buffer associated with a Component. If that * Component has a BufferStrategy with >1 buffer, then the * Image subclass associated with that buffer will be returned. + * Note: the class is used by the JAWT3d. */ -public class WBufferStrategy { +public final class WBufferStrategy { private static native void initIDs(Class componentClass); diff --git a/jdk/src/windows/classes/sun/awt/windows/WButtonPeer.java b/jdk/src/windows/classes/sun/awt/windows/WButtonPeer.java index f006c9a8564..36469af2eac 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WButtonPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WButtonPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -37,6 +37,7 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { // ComponentPeer overrides + @Override public Dimension getMinimumSize() { FontMetrics fm = getFontMetrics(((Button)target).getFont()); String label = ((Button)target).getLabel(); @@ -46,12 +47,14 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { return new Dimension(fm.stringWidth(label) + 14, fm.getHeight() + 8); } + @Override public boolean isFocusable() { return true; } // ButtonPeer implementation + @Override public native void setLabel(String label); // Toolkit & peer internals @@ -60,6 +63,7 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { super(target); } + @Override native void create(WComponentPeer peer); // native callbacks @@ -70,6 +74,7 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { // Fixed 5064013: the InvocationEvent time should be equals // the time of the ActionEvent WToolkit.executeOnEventHandlerThread(target, new Runnable() { + @Override public void run() { postEvent(new ActionEvent(target, ActionEvent.ACTION_PERFORMED, ((Button)target).getActionCommand(), @@ -79,6 +84,7 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { } + @Override public boolean shouldClearRectBeforePaint() { return false; } @@ -88,6 +94,7 @@ final class WButtonPeer extends WComponentPeer implements ButtonPeer { */ private static native void initIDs(); + @Override public boolean handleJavaKeyEvent(KeyEvent e) { switch (e.getID()) { case KeyEvent.KEY_RELEASED: diff --git a/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java b/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java index 254b01f9dbd..e1fd0e523df 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -24,12 +24,16 @@ */ package sun.awt.windows; -import java.awt.*; -import java.awt.peer.*; -import java.lang.ref.WeakReference; -import sun.awt.SunToolkit; -import sun.awt.Win32GraphicsDevice; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsConfiguration; +import java.awt.peer.CanvasPeer; + import sun.awt.PaintEventDispatcher; +import sun.awt.SunToolkit; class WCanvasPeer extends WComponentPeer implements CanvasPeer { @@ -41,8 +45,10 @@ class WCanvasPeer extends WComponentPeer implements CanvasPeer { super(target); } + @Override native void create(WComponentPeer parent); + @Override void initialize() { eraseBackground = !SunToolkit.getSunAwtNoerasebackground(); boolean eraseBackgroundOnResize = SunToolkit.getSunAwtErasebackgroundonresize(); @@ -60,6 +66,7 @@ class WCanvasPeer extends WComponentPeer implements CanvasPeer { } } + @Override public void paint(Graphics g) { Dimension d = ((Component)target).getSize(); if (g instanceof Graphics2D || @@ -75,6 +82,7 @@ class WCanvasPeer extends WComponentPeer implements CanvasPeer { super.paint(g); } + @Override public boolean shouldClearRectBeforePaint() { return eraseBackground; } @@ -99,6 +107,7 @@ class WCanvasPeer extends WComponentPeer implements CanvasPeer { private native void setNativeBackgroundErase(boolean doErase, boolean doEraseOnResize); + @Override public GraphicsConfiguration getAppropriateGraphicsConfiguration( GraphicsConfiguration gc) { diff --git a/jdk/src/windows/classes/sun/awt/windows/WCheckboxMenuItemPeer.java b/jdk/src/windows/classes/sun/awt/windows/WCheckboxMenuItemPeer.java index 25278341b4c..e500c22d9e8 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WCheckboxMenuItemPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WCheckboxMenuItemPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -24,14 +24,16 @@ */ package sun.awt.windows; -import java.awt.*; -import java.awt.peer.*; +import java.awt.CheckboxMenuItem; import java.awt.event.ItemEvent; +import java.awt.peer.CheckboxMenuItemPeer; -class WCheckboxMenuItemPeer extends WMenuItemPeer implements CheckboxMenuItemPeer { +final class WCheckboxMenuItemPeer extends WMenuItemPeer + implements CheckboxMenuItemPeer { // CheckboxMenuItemPeer implementation + @Override public native void setState(boolean t); // Toolkit & peer internals @@ -46,6 +48,7 @@ class WCheckboxMenuItemPeer extends WMenuItemPeer implements CheckboxMenuItemPee public void handleAction(final boolean state) { final CheckboxMenuItem target = (CheckboxMenuItem)this.target; WToolkit.executeOnEventHandlerThread(target, new Runnable() { + @Override public void run() { target.setState(state); postEvent(new ItemEvent(target, ItemEvent.ITEM_STATE_CHANGED, diff --git a/jdk/src/windows/classes/sun/awt/windows/WCheckboxPeer.java b/jdk/src/windows/classes/sun/awt/windows/WCheckboxPeer.java index efab5315959..1bc49ff92d8 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WCheckboxPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WCheckboxPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -32,12 +32,16 @@ final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { // CheckboxPeer implementation + @Override public native void setState(boolean state); + @Override public native void setCheckboxGroup(CheckboxGroup g); + @Override public native void setLabel(String label); private static native int getCheckMarkSize(); + @Override public Dimension getMinimumSize() { String lbl = ((Checkbox)target).getLabel(); int marksize = getCheckMarkSize(); @@ -54,6 +58,7 @@ final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { Math.max(fm.getHeight() + 8, marksize)); } + @Override public boolean isFocusable() { return true; } @@ -64,8 +69,10 @@ final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { super(target); } + @Override native void create(WComponentPeer parent); + @Override void initialize() { Checkbox t = (Checkbox)target; setState(t.getState()); @@ -79,6 +86,7 @@ final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { super.initialize(); } + @Override public boolean shouldClearRectBeforePaint() { return false; } @@ -88,6 +96,7 @@ final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { void handleAction(final boolean state) { final Checkbox cb = (Checkbox)this.target; WToolkit.executeOnEventHandlerThread(cb, new Runnable() { + @Override public void run() { CheckboxGroup chg = cb.getCheckboxGroup(); if ((chg != null) && (cb == chg.getSelectedCheckbox()) && cb.getState()) { diff --git a/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java b/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java index 74f9548a63e..adfff709ebb 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -36,6 +36,7 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { // WComponentPeer overrides + @Override public Dimension getMinimumSize() { FontMetrics fm = getFontMetrics(((Choice)target).getFont()); Choice c = (Choice)target; @@ -45,23 +46,29 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { } return new Dimension(28 + w, Math.max(fm.getHeight() + 6, 15)); } + @Override public boolean isFocusable() { return true; } // ChoicePeer implementation + @Override public native void select(int index); + @Override public void add(String item, int index) { addItem(item, index); } + @Override public boolean shouldClearRectBeforePaint() { return false; } + @Override public native void removeAll(); + @Override public native void remove(int index); /** @@ -72,6 +79,7 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { } public native void addItems(String[] items, int index); + @Override public synchronized native void reshape(int x, int y, int width, int height); private WindowListener windowListener; @@ -82,8 +90,10 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { super(target); } + @Override native void create(WComponentPeer parent); + @Override @SuppressWarnings("deprecation") void initialize() { Choice opt = (Choice)target; @@ -104,9 +114,11 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { WWindowPeer wpeer = (WWindowPeer)parentWindow.getPeer(); if (wpeer != null) { windowListener = new WindowAdapter() { + @Override public void windowIconified(WindowEvent e) { closeList(); } + @Override public void windowClosing(WindowEvent e) { closeList(); } @@ -117,6 +129,7 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { super.initialize(); } + @Override @SuppressWarnings("deprecation") protected void disposeImpl() { // TODO: we should somehow reset the listener when the choice @@ -136,6 +149,7 @@ final class WChoicePeer extends WComponentPeer implements ChoicePeer { void handleAction(final int index) { final Choice c = (Choice)target; WToolkit.executeOnEventHandlerThread(c, new Runnable() { + @Override public void run() { c.select(index); postEvent(new ItemEvent(c, ItemEvent.ITEM_STATE_CHANGED, diff --git a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java index 602d228f342..19383691b5c 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java +++ b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -28,14 +28,11 @@ package sun.awt.windows; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; - import java.io.IOException; - -import java.util.Iterator; import java.util.Map; -import sun.awt.datatransfer.SunClipboard; import sun.awt.datatransfer.DataTransferer; +import sun.awt.datatransfer.SunClipboard; /** @@ -50,18 +47,20 @@ import sun.awt.datatransfer.DataTransferer; * * @since JDK1.1 */ -public class WClipboard extends SunClipboard { +final class WClipboard extends SunClipboard { private boolean isClipboardViewerRegistered; - public WClipboard() { + WClipboard() { super("System"); } + @Override public long getID() { return 0; } + @Override protected void setContentsNative(Transferable contents) { // Don't use delayed Clipboard rendering for the Transferable's data. @@ -107,6 +106,7 @@ public class WClipboard extends SunClipboard { * Currently delayed data rendering is not used for the Windows clipboard, * so there is no native context to clear. */ + @Override protected void clearNativeContext() {} /** @@ -115,11 +115,13 @@ public class WClipboard extends SunClipboard { * * @throws IllegalStateException if the clipboard has not been opened */ + @Override public native void openClipboard(SunClipboard newOwner) throws IllegalStateException; /** * Call the Win32 CloseClipboard function if we have clipboard ownership, * does nothing if we have not ownership. */ + @Override public native void closeClipboard(); /** * Call the Win32 SetClipboardData function. @@ -131,9 +133,12 @@ public class WClipboard extends SunClipboard { init(); } + @Override protected native long[] getClipboardFormats(); + @Override protected native byte[] getClipboardData(long format) throws IOException; + @Override protected void registerClipboardViewerChecked() { if (!isClipboardViewerRegistered) { registerClipboardViewer(); @@ -148,6 +153,7 @@ public class WClipboard extends SunClipboard { * until the toolkit window disposing since MSDN suggests removing * the window from the clipboard viewer chain just before it is destroyed. */ + @Override protected void unregisterClipboardViewerChecked() {} /** @@ -175,6 +181,7 @@ public class WClipboard extends SunClipboard { * * @since 1.5 */ + @Override protected Transferable createLocaleTransferable(long[] formats) throws IOException { boolean found = false; for (int i = 0; i < formats.length; i++) { @@ -197,12 +204,15 @@ public class WClipboard extends SunClipboard { final byte[] localeDataFinal = localeData; return new Transferable() { + @Override public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataTransferer.javaTextEncodingFlavor }; } + @Override public boolean isDataFlavorSupported(DataFlavor flavor) { return flavor.equals(DataTransferer.javaTextEncodingFlavor); } + @Override public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException { if (isDataFlavorSupported(flavor)) { return localeDataFinal; @@ -211,5 +221,4 @@ public class WClipboard extends SunClipboard { } }; } - } diff --git a/jdk/src/windows/classes/sun/awt/windows/WColor.java b/jdk/src/windows/classes/sun/awt/windows/WColor.java index f8453c40298..4a040f3b689 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WColor.java +++ b/jdk/src/windows/classes/sun/awt/windows/WColor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -29,7 +29,7 @@ import java.awt.Color; /* * This helper class maps Windows system colors to AWT Color objects. */ -class WColor { +final class WColor { static final int WINDOW_BKGND = 1; // COLOR_WINDOW static final int WINDOW_TEXT = 2; // COLOR_WINDOWTEXT diff --git a/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java b/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java index d4c4f702dc5..1008004aa52 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -93,7 +93,9 @@ public abstract class WComponentPeer extends WObjectPeer private Color background; private Font font; + @Override public native boolean isObscured(); + @Override public boolean canDetermineObscurity() { return true; } // DropTarget support @@ -101,19 +103,21 @@ public abstract class WComponentPeer extends WObjectPeer int nDropTargets; long nativeDropTargetContext; // native pointer - public synchronized native void pShow(); - public synchronized native void hide(); - public synchronized native void enable(); - public synchronized native void disable(); + private synchronized native void pShow(); + synchronized native void hide(); + synchronized native void enable(); + synchronized native void disable(); public long getHWnd() { return hwnd; } /* New 1.1 API */ + @Override public native Point getLocationOnScreen(); /* New 1.1 API */ + @Override public void setVisible(boolean b) { if (b) { show(); @@ -130,6 +134,7 @@ public abstract class WComponentPeer extends WObjectPeer } /* New 1.1 API */ + @Override public void setEnabled(boolean b) { if (b) { enable(); @@ -143,6 +148,7 @@ public abstract class WComponentPeer extends WObjectPeer private native void reshapeNoCheck(int x, int y, int width, int height); /* New 1.1 API */ + @Override public void setBounds(int x, int y, int width, int height, int op) { // Should set paintPending before reahape to prevent // thread race between paint events @@ -185,6 +191,7 @@ public abstract class WComponentPeer extends WObjectPeer final Container cont = (Container)target; WToolkit.executeOnEventHandlerThread(cont, new Runnable() { + @Override public void run() { // Discarding old paint events doesn't seem to be necessary. cont.invalidate(); @@ -228,6 +235,7 @@ public abstract class WComponentPeer extends WObjectPeer native synchronized void updateWindow(); + @Override public void paint(Graphics g) { ((Component)target).paint(g); } @@ -239,6 +247,7 @@ public abstract class WComponentPeer extends WObjectPeer private native int[] createPrintedPixels(int srcX, int srcY, int srcW, int srcH, int alpha); + @Override public void print(Graphics g) { Component comp = (Component)target; @@ -275,6 +284,7 @@ public abstract class WComponentPeer extends WObjectPeer comp.print(g); } + @Override public void coalescePaintEvent(PaintEvent e) { Rectangle r = e.getUpdateRect(); if (!(e instanceof IgnorePaintEvent)) { @@ -319,6 +329,7 @@ public abstract class WComponentPeer extends WObjectPeer native void nativeHandleEvent(AWTEvent e); + @Override @SuppressWarnings("fallthrough") public void handleEvent(AWTEvent e) { int id = e.getID(); @@ -367,21 +378,25 @@ public abstract class WComponentPeer extends WObjectPeer native void setFocus(boolean doSetFocus); + @Override public Dimension getMinimumSize() { return ((Component)target).getSize(); } + @Override public Dimension getPreferredSize() { return getMinimumSize(); } // Do nothing for heavyweight implementation + @Override public void layout() {} public Rectangle getBounds() { return ((Component)target).getBounds(); } + @Override public boolean isFocusable() { return false; } @@ -390,6 +405,7 @@ public abstract class WComponentPeer extends WObjectPeer * Return the GraphicsConfiguration associated with this peer, either * the locally stored winGraphicsConfig, or that of the target Component. */ + @Override public GraphicsConfiguration getGraphicsConfiguration() { if (winGraphicsConfig != null) { return winGraphicsConfig; @@ -481,6 +497,7 @@ public abstract class WComponentPeer extends WObjectPeer public void replaceSurfaceDataLater() { Runnable r = new Runnable() { + @Override public void run() { // Shouldn't do anything if object is disposed in meanwhile // No need for sync as disposeAction in Window is performed @@ -501,6 +518,7 @@ public abstract class WComponentPeer extends WObjectPeer } } + @Override public boolean updateGraphicsData(GraphicsConfiguration gc) { winGraphicsConfig = (Win32GraphicsConfig)gc; try { @@ -512,6 +530,7 @@ public abstract class WComponentPeer extends WObjectPeer } //This will return null for Components not yet added to a Container + @Override public ColorModel getColorModel() { GraphicsConfiguration gc = getGraphicsConfiguration(); if (gc != null) { @@ -549,6 +568,7 @@ public abstract class WComponentPeer extends WObjectPeer // fallback default font object final static Font defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12); + @Override @SuppressWarnings("deprecation") public Graphics getGraphics() { if (isDisposed()) { @@ -601,11 +621,13 @@ public abstract class WComponentPeer extends WObjectPeer } return null; } + @Override public FontMetrics getFontMetrics(Font font) { return WFontMetrics.getFontMetrics(font); } private synchronized native void _dispose(); + @Override protected void disposeImpl() { SurfaceData oldData = surfaceData; surfaceData = null; @@ -618,17 +640,20 @@ public abstract class WComponentPeer extends WObjectPeer public void disposeLater() { postEvent(new InvocationEvent(target, new Runnable() { + @Override public void run() { dispose(); } })); } + @Override public synchronized void setForeground(Color c) { foreground = c; _setForeground(c.getRGB()); } + @Override public synchronized void setBackground(Color c) { background = c; _setBackground(c.getRGB()); @@ -644,19 +669,22 @@ public abstract class WComponentPeer extends WObjectPeer return background; } - public native void _setForeground(int rgb); - public native void _setBackground(int rgb); + private native void _setForeground(int rgb); + private native void _setBackground(int rgb); + @Override public synchronized void setFont(Font f) { font = f; _setFont(f); } - public synchronized native void _setFont(Font f); + synchronized native void _setFont(Font f); + @Override public void updateCursorImmediately() { WGlobalCursorManager.getCursorManager().updateCursorImmediately(); } // TODO: consider moving it to KeyboardFocusManagerPeerImpl + @Override @SuppressWarnings("deprecation") public boolean requestFocus(Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, @@ -720,24 +748,29 @@ public abstract class WComponentPeer extends WObjectPeer return false; } + @Override public Image createImage(ImageProducer producer) { return new ToolkitImage(producer); } + @Override public Image createImage(int width, int height) { Win32GraphicsConfig gc = (Win32GraphicsConfig)getGraphicsConfiguration(); return gc.createAcceleratedImage((Component)target, width, height); } + @Override public VolatileImage createVolatileImage(int width, int height) { return new SunVolatileImage((Component)target, width, height); } + @Override public boolean prepareImage(Image img, int w, int h, ImageObserver o) { return Toolkit.getDefaultToolkit().prepareImage(img, w, h, o); } + @Override public int checkImage(Image img, int w, int h, ImageObserver o) { return Toolkit.getDefaultToolkit().checkImage(img, w, h, o); } @@ -891,6 +924,7 @@ public abstract class WComponentPeer extends WObjectPeer * register a DropTarget with this native peer */ + @Override public synchronized void addDropTarget(DropTarget dt) { if (nDropTargets == 0) { nativeDropTargetContext = addNativeDropTarget(); @@ -902,6 +936,7 @@ public abstract class WComponentPeer extends WObjectPeer * unregister a DropTarget with this native peer */ + @Override public synchronized void removeDropTarget(DropTarget dt) { nDropTargets--; if (nDropTargets == 0) { @@ -924,6 +959,7 @@ public abstract class WComponentPeer extends WObjectPeer native void removeNativeDropTarget(); native boolean nativeHandlesWheelScrolling(); + @Override public boolean handlesWheelScrolling() { // should this be cached? return nativeHandlesWheelScrolling(); @@ -1001,6 +1037,7 @@ public abstract class WComponentPeer extends WObjectPeer /** * @see java.awt.peer.ComponentPeer#reparent */ + @Override public void reparent(ContainerPeer newNativeParent) { pSetParent(newNativeParent); } @@ -1008,6 +1045,7 @@ public abstract class WComponentPeer extends WObjectPeer /** * @see java.awt.peer.ComponentPeer#isReparentSupported */ + @Override public boolean isReparentSupported() { return true; } @@ -1081,6 +1119,7 @@ public abstract class WComponentPeer extends WObjectPeer * Applies the shape to the native component window. * @since 1.7 */ + @Override @SuppressWarnings("deprecation") public void applyShape(Region shape) { if (shapeLog.isLoggable(PlatformLogger.Level.FINER)) { @@ -1101,6 +1140,7 @@ public abstract class WComponentPeer extends WObjectPeer * Lowers this component at the bottom of the above component. If the above parameter * is null then the method places this component at the top of the Z-order. */ + @Override public void setZOrder(ComponentPeer above) { long aboveHWND = (above != null) ? ((WComponentPeer)above).getHWnd() : 0; diff --git a/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java b/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java index 640c2284c48..dc5debd4af5 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java +++ b/jdk/src/windows/classes/sun/awt/windows/WCustomCursor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -38,13 +38,14 @@ import sun.awt.image.ToolkitImage; * @see Component#setCursor * @author ThomasBall */ -public class WCustomCursor extends CustomCursor { +final class WCustomCursor extends CustomCursor { - public WCustomCursor(Image cursor, Point hotSpot, String name) + WCustomCursor(Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException { super(cursor, hotSpot, name); } + @Override protected void createNativeCursor(Image im, int[] pixels, int w, int h, int xHotSpot, int yHotSpot) { BufferedImage bimage = new BufferedImage(w, h, diff --git a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java index 9c84ba728c4..4b16e214052 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java @@ -51,7 +51,6 @@ import java.awt.image.WritableRaster; import java.io.BufferedInputStream; import java.io.BufferedReader; -import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; @@ -85,7 +84,7 @@ import java.io.ByteArrayOutputStream; * * @since 1.3.1 */ -public class WDataTransferer extends DataTransferer { +final class WDataTransferer extends DataTransferer { private static final String[] predefinedClipboardNames = { "", "TEXT", @@ -166,6 +165,7 @@ public class WDataTransferer extends DataTransferer { return transferer; } + @Override public SortedMap getFormatsForFlavors( DataFlavor[] flavors, FlavorTable map) { @@ -179,10 +179,12 @@ public class WDataTransferer extends DataTransferer { return retval; } + @Override public String getDefaultUnicodeEncoding() { return "utf-16le"; } + @Override public byte[] translateTransferable(Transferable contents, DataFlavor flavor, long format) throws IOException @@ -220,6 +222,7 @@ public class WDataTransferer extends DataTransferer { } // The stream is closed as a closable object + @Override public Object translateStream(InputStream str, DataFlavor flavor, long format, Transferable localeTransferable) @@ -235,6 +238,7 @@ public class WDataTransferer extends DataTransferer { } + @Override public Object translateBytes(byte[] bytes, DataFlavor flavor, long format, Transferable localeTransferable) throws IOException { @@ -282,14 +286,17 @@ public class WDataTransferer extends DataTransferer { } + @Override public boolean isLocaleDependentTextFormat(long format) { return format == CF_TEXT || format == CFSTR_INETURL; } + @Override public boolean isFileFormat(long format) { return format == CF_HDROP || format == CF_FILEGROUPDESCRIPTORA || format == CF_FILEGROUPDESCRIPTORW; } + @Override protected Long getFormatForNativeAsLong(String str) { Long format = predefinedClipboardNameMap.get(str); if (format == null) { @@ -298,6 +305,7 @@ public class WDataTransferer extends DataTransferer { return format; } + @Override protected String getNativeForFormat(long format) { return (format < predefinedClipboardNames.length) ? predefinedClipboardNames[(int)format] @@ -307,6 +315,7 @@ public class WDataTransferer extends DataTransferer { private final ToolkitThreadBlockedHandler handler = new WToolkitThreadBlockedHandler(); + @Override public ToolkitThreadBlockedHandler getToolkitThreadBlockedHandler() { return handler; } @@ -323,12 +332,14 @@ public class WDataTransferer extends DataTransferer { */ private static native String getClipboardFormatName(long format); + @Override public boolean isImageFormat(long format) { return format == CF_DIB || format == CF_ENHMETAFILE || format == CF_METAFILEPICT || format == CF_PNG || format == CF_JFIF; } + @Override protected byte[] imageToPlatformBytes(Image image, long format) throws IOException { String mimeType = null; @@ -402,6 +413,7 @@ public class WDataTransferer extends DataTransferer { private static final byte [] UNICODE_NULL_TERMINATOR = new byte [] {0,0}; + @Override protected ByteArrayOutputStream convertFileListToBytes(ArrayList fileList) throws IOException { @@ -439,6 +451,7 @@ public class WDataTransferer extends DataTransferer { * Translates either a byte array or an input stream which contain * platform-specific image data in the given format into an Image. */ + @Override protected Image platformImageBytesToImage(byte[] bytes, long format) throws IOException { String mimeType = null; @@ -478,12 +491,14 @@ public class WDataTransferer extends DataTransferer { long format) throws IOException; + @Override protected native String[] dragQueryFile(byte[] bytes); } final class WToolkitThreadBlockedHandler extends Mutex implements ToolkitThreadBlockedHandler { + @Override public void enter() { if (!isOwned()) { throw new IllegalMonitorStateException(); @@ -493,6 +508,7 @@ final class WToolkitThreadBlockedHandler extends Mutex lock(); } + @Override public void exit() { if (!isOwned()) { throw new IllegalMonitorStateException(); @@ -876,6 +892,7 @@ class HTMLCodec extends InputStream { descriptionParsed = true; } + @Override public synchronized int read() throws IOException { if( closed ){ throw new IOException("Stream closed"); @@ -896,6 +913,7 @@ class HTMLCodec extends InputStream { return retval; } + @Override public synchronized void close() throws IOException { if( !closed ){ closed = true; diff --git a/jdk/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java b/jdk/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java index cf71e528dff..7632e172b73 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -27,7 +27,7 @@ package sun.awt.windows; import java.nio.charset.*; import sun.awt.AWTCharset; -public class WDefaultFontCharset extends AWTCharset +final class WDefaultFontCharset extends AWTCharset { static { initIDs(); @@ -36,22 +36,24 @@ public class WDefaultFontCharset extends AWTCharset // Name for Windows FontSet. private String fontName; - public WDefaultFontCharset(String name){ + WDefaultFontCharset(String name){ super("WDefaultFontCharset", Charset.forName("windows-1252")); fontName = name; } + @Override public CharsetEncoder newEncoder() { return new Encoder(); } private class Encoder extends AWTCharset.Encoder { + @Override public boolean canEncode(char c){ return canConvert(c); } } - public synchronized native boolean canConvert(char ch); + private synchronized native boolean canConvert(char ch); /** * Initialize JNI field and method IDs diff --git a/jdk/src/windows/classes/sun/awt/windows/WDesktopPeer.java b/jdk/src/windows/classes/sun/awt/windows/WDesktopPeer.java index 8661f61cc23..c3d68c7442c 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDesktopPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDesktopPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -39,33 +39,39 @@ import java.net.URI; * * @see DesktopPeer */ -public class WDesktopPeer implements DesktopPeer { +final class WDesktopPeer implements DesktopPeer { /* Contants for the operation verbs */ private static String ACTION_OPEN_VERB = "open"; private static String ACTION_EDIT_VERB = "edit"; private static String ACTION_PRINT_VERB = "print"; + @Override public boolean isSupported(Action action) { // OPEN, EDIT, PRINT, MAIL, BROWSE all supported on windows. return true; } + @Override public void open(File file) throws IOException { this.ShellExecute(file, ACTION_OPEN_VERB); } + @Override public void edit(File file) throws IOException { this.ShellExecute(file, ACTION_EDIT_VERB); } + @Override public void print(File file) throws IOException { this.ShellExecute(file, ACTION_PRINT_VERB); } + @Override public void mail(URI uri) throws IOException { this.ShellExecute(uri, ACTION_OPEN_VERB); } + @Override public void browse(URI uri) throws IOException { this.ShellExecute(uri, ACTION_OPEN_VERB); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java index c48d85e0516..367bb126de5 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -52,7 +52,7 @@ import sun.awt.SunToolkit; * like the Windows Pluggable Look-and-Feel can better adapt * itself when running on a Windows platform. */ -class WDesktopProperties { +final class WDesktopProperties { private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.windows.WDesktopProperties"); private static final String PREFIX = "win."; private static final String FILE_PREFIX = "awt.file."; @@ -210,6 +210,7 @@ class WDesktopProperties { this.winEventName = winEventName; } + @Override public void run() { WDesktopProperties.this.playWindowsSound(winEventName); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java index 716a77f1591..390ec6e524b 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -24,14 +24,13 @@ */ package sun.awt.windows; -import java.util.*; import java.awt.*; import java.awt.peer.*; import sun.awt.*; import sun.awt.im.*; -class WDialogPeer extends WWindowPeer implements DialogPeer { +final class WDialogPeer extends WWindowPeer implements DialogPeer { // Toolkit & peer internals // Platform default background for dialogs. Gets set on target if @@ -54,6 +53,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { } native void createAwtDialog(WComponentPeer parent); + @Override void create(WComponentPeer parent) { preCreate(parent); createAwtDialog(parent); @@ -62,6 +62,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { native void showModal(); native void endModal(); + @Override void initialize() { Dialog target = (Dialog)this.target; // Need to set target's background to default _before_ a call @@ -78,6 +79,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { setResizable(target.isResizable()); } + @Override protected void realShow() { Dialog dlg = (Dialog)target; if (dlg.getModalityType() != Dialog.ModalityType.MODELESS) { @@ -87,8 +89,9 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { } } + @Override @SuppressWarnings("deprecation") - public void hide() { + void hide() { Dialog dlg = (Dialog)target; if (dlg.getModalityType() != Dialog.ModalityType.MODELESS) { endModal(); @@ -97,6 +100,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { } } + @Override public void blockWindows(java.util.List toBlock) { for (Window w : toBlock) { WWindowPeer wp = (WWindowPeer)AWTAccessor.getComponentAccessor().getPeer(w); @@ -106,6 +110,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { } } + @Override public Dimension getMinimumSize() { if (((Dialog)target).isUndecorated()) { return super.getMinimumSize(); @@ -119,6 +124,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer { return ((Dialog)target).isUndecorated(); } + @Override public void reshape(int x, int y, int width, int height) { if (((Dialog)target).isUndecorated()) { super.reshape(x, y, width, height); diff --git a/jdk/src/windows/classes/sun/awt/windows/WDropTargetContextPeer.java b/jdk/src/windows/classes/sun/awt/windows/WDropTargetContextPeer.java index b5453e89732..b6d33b0ce1f 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WDropTargetContextPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WDropTargetContextPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -79,6 +79,7 @@ final class WDropTargetContextPeer extends SunDropTargetContextPeer { return new WDropTargetContextPeerIStream(istream); } + @Override protected Object getNativeData(long format) { return getData(getNativeDragContext(), format); } @@ -87,14 +88,17 @@ final class WDropTargetContextPeer extends SunDropTargetContextPeer { * signal drop complete */ + @Override protected void doDropDone(boolean success, int dropAction, boolean isLocal) { dropDone(getNativeDragContext(), success, dropAction); } + @Override protected void eventPosted(final SunDropTargetEvent e) { if (e.getID() != SunDropTargetEvent.MOUSE_DROPPED) { Runnable runnable = new Runnable() { + @Override public void run() { e.getDispatcher().unregisterAllEvents(); } @@ -124,7 +128,7 @@ final class WDropTargetContextPeer extends SunDropTargetContextPeer { * package private class to handle file transfers */ -class WDropTargetContextPeerFileStream extends FileInputStream { +final class WDropTargetContextPeerFileStream extends FileInputStream { /** * construct file input stream @@ -142,6 +146,7 @@ class WDropTargetContextPeerFileStream extends FileInputStream { * close */ + @Override public void close() throws IOException { if (stgmedium != 0) { super.close(); @@ -167,7 +172,7 @@ class WDropTargetContextPeerFileStream extends FileInputStream { * Package private class to access IStream objects */ -class WDropTargetContextPeerIStream extends InputStream { +final class WDropTargetContextPeerIStream extends InputStream { /** * construct a WDropTargetContextPeerIStream wrapper @@ -185,6 +190,7 @@ class WDropTargetContextPeerIStream extends InputStream { * @return bytes available */ + @Override public int available() throws IOException { if (istream == 0) throw new IOException("No IStream"); return Available(istream); @@ -196,6 +202,7 @@ class WDropTargetContextPeerIStream extends InputStream { * read */ + @Override public int read() throws IOException { if (istream == 0) throw new IOException("No IStream"); return Read(istream); @@ -207,6 +214,7 @@ class WDropTargetContextPeerIStream extends InputStream { * read into buffer */ + @Override public int read(byte[] b, int off, int len) throws IOException { if (istream == 0) throw new IOException("No IStream"); return ReadBytes(istream, b, off, len); @@ -218,6 +226,7 @@ class WDropTargetContextPeerIStream extends InputStream { * close */ + @Override public void close() throws IOException { if (istream != 0) { super.close(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java index ce02e045e31..25d45dca90d 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java +++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -203,11 +203,11 @@ public class WEmbeddedFrame extends EmbeddedFrame { } - protected native boolean isPrinterDC(long hdc); + private native boolean isPrinterDC(long hdc); - protected native void printBand(long hdc, byte[] data, int offset, - int sx, int sy, int swidth, int sheight, - int dx, int dy, int dwidth, int dheight); + private native void printBand(long hdc, byte[] data, int offset, int sx, + int sy, int swidth, int sheight, int dx, + int dy, int dwidth, int dheight); /** * Initialize JNI field IDs diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java index ec551e30ced..930b4472207 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -38,12 +38,15 @@ public class WEmbeddedFramePeer extends WFramePeer { super(target); } + @Override native void create(WComponentPeer parent); // suppress printing of an embedded frame. + @Override public void print(Graphics g) {} // supress calling native setMinSize() + @Override public void updateMinimumSize() {} @Override @@ -59,10 +62,12 @@ public class WEmbeddedFramePeer extends WFramePeer { ((EmbeddedFrame)target).notifyModalBlocked(blocker, false); } + @Override public void setBoundsPrivate(int x, int y, int width, int height) { setBounds(x, y, width, height, SET_BOUNDS | NO_EMBEDDED_CHECK); } + @Override public native Rectangle getBoundsPrivate(); @Override diff --git a/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java index bac55be02d3..beeb1031332 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -34,11 +34,10 @@ import java.security.PrivilegedAction; import java.util.ResourceBundle; import java.util.MissingResourceException; import java.util.Vector; -import sun.awt.AppContext; import sun.awt.CausedFocusEvent; import sun.awt.AWTAccessor; -public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { +final class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { static { initIDs(); @@ -47,11 +46,12 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { private WComponentPeer parent; private FilenameFilter fileFilter; - private Vector blockedWindows = new Vector(); + private Vector blockedWindows = new Vector<>(); //Needed to fix 4152317 private static native void setFilterString(String allFilter); + @Override public void setFilenameFilter(FilenameFilter filter) { this.fileFilter = filter; } @@ -70,19 +70,23 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { super(target); } + @Override void create(WComponentPeer parent) { this.parent = parent; } // don't use checkCreation() from WComponentPeer to avoid hwnd check + @Override protected void checkCreation() { } + @Override void initialize() { setFilenameFilter(((FileDialog) target).getFilenameFilter()); } private native void _dispose(); + @Override protected void disposeImpl() { WToolkit.targetDisposedPeer(target, this); _dispose(); @@ -91,15 +95,18 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { private native void _show(); private native void _hide(); + @Override public void show() { new Thread(new Runnable() { + @Override public void run() { _show(); } }).start(); } - public void hide() { + @Override + void hide() { _hide(); } @@ -169,6 +176,7 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { fileDialogAccessor.setFiles(fileDialog, jFiles); WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() { + @Override public void run() { fileDialog.setVisible(false); } @@ -185,6 +193,7 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { AWTAccessor.getFileDialogAccessor().setDirectory(fileDialog, null); WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() { + @Override public void run() { fileDialog.setVisible(false); } @@ -195,6 +204,7 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { static { String filterString = AccessController.doPrivileged( new PrivilegedAction() { + @Override public String run() { try { ResourceBundle rb = ResourceBundle.getBundle("sun.awt.windows.awtLocalization"); @@ -224,6 +234,7 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { } } + @Override public void blockWindows(java.util.List toBlock) { for (Window w : toBlock) { WWindowPeer wp = (WWindowPeer)AWTAccessor.getComponentAccessor().getPeer(w); @@ -233,31 +244,47 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { } } + @Override public native void toFront(); + @Override public native void toBack(); // unused methods. Overridden to disable this functionality as // it requires HWND which is not available for FileDialog + @Override public void updateAlwaysOnTopState() {} + @Override public void setDirectory(String dir) {} + @Override public void setFile(String file) {} + @Override public void setTitle(String title) {} + @Override public void setResizable(boolean resizable) {} - public void enable() {} - public void disable() {} + @Override + void enable() {} + @Override + void disable() {} + @Override public void reshape(int x, int y, int width, int height) {} public boolean handleEvent(Event e) { return false; } + @Override public void setForeground(Color c) {} + @Override public void setBackground(Color c) {} + @Override public void setFont(Font f) {} + @Override public void updateMinimumSize() {} + @Override public void updateIconImages() {} public boolean requestFocus(boolean temporary, boolean focusedWindowChangeAllowed) { return false; } + @Override public boolean requestFocus (Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) @@ -265,13 +292,20 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { return false; } + @Override void start() {} + @Override public void beginValidate() {} + @Override public void endValidate() {} void invalidate(int x, int y, int width, int height) {} + @Override public void addDropTarget(DropTarget dt) {} + @Override public void removeDropTarget(DropTarget dt) {} + @Override public void updateFocusableWindowState() {} + @Override public void setZOrder(ComponentPeer above) {} /** @@ -280,8 +314,11 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer { private static native void initIDs(); // The effects are not supported for system dialogs. + @Override public void applyShape(sun.java2d.pipe.Region shape) {} + @Override public void setOpacity(float opacity) {} + @Override public void setOpaque(boolean isOpaque) {} public void updateWindow(java.awt.image.BufferedImage backBuffer) {} diff --git a/jdk/src/windows/classes/sun/awt/windows/WFontConfiguration.java b/jdk/src/windows/classes/sun/awt/windows/WFontConfiguration.java index 53be0d10158..7315b97db77 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFontConfiguration.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFontConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2014, 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 @@ -29,12 +29,10 @@ import java.util.HashMap; import java.util.Hashtable; import sun.awt.FontDescriptor; import sun.awt.FontConfiguration; -import sun.font.FontManager; import sun.font.SunFontManager; -import sun.java2d.SunGraphicsEnvironment; import java.nio.charset.*; -public class WFontConfiguration extends FontConfiguration { +public final class WFontConfiguration extends FontConfiguration { // whether compatibility fallbacks for TimesRoman and Co. are used private boolean useCompatibilityFallbacks; @@ -52,6 +50,7 @@ public class WFontConfiguration extends FontConfiguration { useCompatibilityFallbacks = "windows-1252".equals(encoding); } + @Override protected void initReorderMap() { if (encoding.equalsIgnoreCase("windows-31j")) { localeMap = new Hashtable(); @@ -81,6 +80,7 @@ public class WFontConfiguration extends FontConfiguration { // reorderMap.put("windows-1252", "alphabetic"); } + @Override protected void setOsNameAndVersion(){ super.setOsNameAndVersion(); if (osName.startsWith("Windows")){ @@ -103,6 +103,7 @@ public class WFontConfiguration extends FontConfiguration { } // overrides FontConfiguration.getFallbackFamilyName + @Override public String getFallbackFamilyName(String fontName, String defaultFallback) { // maintain compatibility with old font.properties files, where // default file had aliases for timesroman & Co, while others didn't. @@ -115,6 +116,7 @@ public class WFontConfiguration extends FontConfiguration { return defaultFallback; } + @Override protected String makeAWTFontName(String platformFontName, String characterSubsetName) { String windowsCharset = (String) subsetCharsetMap.get(characterSubsetName); if (windowsCharset == null) { @@ -123,6 +125,7 @@ public class WFontConfiguration extends FontConfiguration { return platformFontName + "," + windowsCharset; } + @Override protected String getEncoding(String awtFontName, String characterSubsetName) { String encoding = (String) subsetEncodingMap.get(characterSubsetName); if (encoding == null) { @@ -131,15 +134,18 @@ public class WFontConfiguration extends FontConfiguration { return encoding; } + @Override protected Charset getDefaultFontCharset(String fontName) { return new WDefaultFontCharset(fontName); } + @Override public String getFaceNameFromComponentFontName(String componentFontName) { // for Windows, the platform name is the face name return componentFontName; } + @Override protected String getFileNameFromComponentFontName(String componentFontName) { return getFileNameFromPlatformName(componentFontName); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java b/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java index 0e24737252c..b92f3b03b5e 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFontMetrics.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 1997, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -33,7 +33,7 @@ import java.util.Hashtable; * * @author Jim Graham */ -class WFontMetrics extends FontMetrics { +final class WFontMetrics extends FontMetrics { static { initIDs(); @@ -117,6 +117,7 @@ class WFontMetrics extends FontMetrics { /** * Get leading */ + @Override public int getLeading() { return leading; } @@ -124,6 +125,7 @@ class WFontMetrics extends FontMetrics { /** * Get ascent. */ + @Override public int getAscent() { return ascent; } @@ -131,6 +133,7 @@ class WFontMetrics extends FontMetrics { /** * Get descent */ + @Override public int getDescent() { return descent; } @@ -138,6 +141,7 @@ class WFontMetrics extends FontMetrics { /** * Get height */ + @Override public int getHeight() { return height; } @@ -145,6 +149,7 @@ class WFontMetrics extends FontMetrics { /** * Get maxAscent */ + @Override public int getMaxAscent() { return maxAscent; } @@ -152,6 +157,7 @@ class WFontMetrics extends FontMetrics { /** * Get maxDescent */ + @Override public int getMaxDescent() { return maxDescent; } @@ -159,6 +165,7 @@ class WFontMetrics extends FontMetrics { /** * Get maxAdvance */ + @Override public int getMaxAdvance() { return maxAdvance; } @@ -166,21 +173,25 @@ class WFontMetrics extends FontMetrics { /** * Return the width of the specified string in this Font. */ + @Override public native int stringWidth(String str); /** * Return the width of the specified char[] in this Font. */ + @Override public native int charsWidth(char data[], int off, int len); /** * Return the width of the specified byte[] in this Font. */ + @Override public native int bytesWidth(byte data[], int off, int len); /** * Get the widths of the first 256 characters in the font. */ + @Override public int[] getWidths() { return widths; } diff --git a/jdk/src/windows/classes/sun/awt/windows/WFontPeer.java b/jdk/src/windows/classes/sun/awt/windows/WFontPeer.java index 65991d07274..7b8305faa93 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFontPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFontPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -27,7 +27,7 @@ package sun.awt.windows; import sun.awt.PlatformFont; -public class WFontPeer extends PlatformFont { +final class WFontPeer extends PlatformFont { private String textComponentFontName; @@ -38,6 +38,7 @@ public class WFontPeer extends PlatformFont { } } + @Override protected char getMissingGlyphCharacter() { return '\u2751'; } diff --git a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java index 588b3caebdd..37486e18eba 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -41,7 +41,9 @@ class WFramePeer extends WWindowPeer implements FramePeer { private static native void initIDs(); // FramePeer implementation + @Override public native void setState(int state); + @Override public native int getState(); // sync target and peer @@ -62,6 +64,7 @@ class WFramePeer extends WWindowPeer implements FramePeer { new GetPropertyAction( "sun.awt.keepWorkingSetOnMinimize"))); + @Override public void setMaximizedBounds(Rectangle b) { if (b == null) { clearMaximizedBounds(); @@ -123,6 +126,7 @@ class WFramePeer extends WWindowPeer implements FramePeer { return ((Frame)target).isUndecorated(); } + @Override public void reshape(int x, int y, int width, int height) { if (((Frame)target).isUndecorated()) { super.reshape(x, y, width, height); @@ -131,6 +135,7 @@ class WFramePeer extends WWindowPeer implements FramePeer { } } + @Override public Dimension getMinimumSize() { Dimension d = new Dimension(); if (!((Frame)target).isUndecorated()) { @@ -145,6 +150,7 @@ class WFramePeer extends WWindowPeer implements FramePeer { // Note: Because this method calls resize(), which may be overridden // by client code, this method must not be executed on the toolkit // thread. + @Override public void setMenuBar(MenuBar mb) { WMenuBarPeer mbPeer = (WMenuBarPeer) WToolkit.targetToPeer(mb); setMenuBar0(mbPeer); @@ -170,11 +176,13 @@ class WFramePeer extends WWindowPeer implements FramePeer { } native void createAwtFrame(WComponentPeer parent); + @Override void create(WComponentPeer parent) { preCreate(parent); createAwtFrame(parent); } + @Override void initialize() { super.initialize(); @@ -194,14 +202,17 @@ class WFramePeer extends WWindowPeer implements FramePeer { InputMethodManager.getInstance().notifyChangeRequest((Component)target); } + @Override public void setBoundsPrivate(int x, int y, int width, int height) { setBounds(x, y, width, height, SET_BOUNDS); } + @Override public Rectangle getBoundsPrivate() { return getBounds(); } // TODO: implement it in peers. WLightweightFramePeer may implement lw version. + @Override public void emulateActivation(boolean activate) { synthesizeWmActivate(activate); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java b/jdk/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java index b579f15c367..b4eb652a88e 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java +++ b/jdk/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -28,7 +28,7 @@ package sun.awt.windows; import java.awt.*; import sun.awt.GlobalCursorManager; -public final class WGlobalCursorManager extends GlobalCursorManager { +final class WGlobalCursorManager extends GlobalCursorManager { private static WGlobalCursorManager manager; public static GlobalCursorManager getCursorManager() { @@ -46,12 +46,16 @@ public final class WGlobalCursorManager extends GlobalCursorManager { WGlobalCursorManager.getCursorManager().updateCursorLater(heavy); } + @Override protected native void setCursor(Component comp, Cursor cursor, boolean u); + @Override protected native void getCursorPos(Point p); /* * two native methods to call corresponding methods in Container and * Component */ + @Override protected native Component findHeavyweightUnderCursor(boolean useCache); + @Override protected native Point getLocationOnScreen(Component com); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java index dbecc230de0..de7c478c087 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java +++ b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -42,7 +42,7 @@ import java.util.Locale; import java.util.Map; import sun.awt.im.InputMethodAdapter; -public class WInputMethod extends InputMethodAdapter +final class WInputMethod extends InputMethodAdapter { /** * The input method context, which is used to dispatch input method @@ -127,6 +127,7 @@ public class WInputMethod extends InputMethodAdapter } } + @Override protected void finalize() throws Throwable { // Release the resources used by the native input context. @@ -137,10 +138,12 @@ public class WInputMethod extends InputMethodAdapter super.finalize(); } + @Override public synchronized void setInputMethodContext(InputMethodContext context) { inputContext = context; } + @Override public final void dispose() { // Due to a memory management problem in Windows 98, we should retain // the native input context until this object is finalized. So do @@ -152,10 +155,12 @@ public class WInputMethod extends InputMethodAdapter * * @see java.awt.im.spi.InputMethod#getControlObject */ + @Override public Object getControlObject() { return null; } + @Override public boolean setLocale(Locale lang) { return setLocale(lang, false); } @@ -178,6 +183,7 @@ public class WInputMethod extends InputMethodAdapter return false; } + @Override public Locale getLocale() { if (isActive) { currentLocale = getNativeLocale(); @@ -193,6 +199,7 @@ public class WInputMethod extends InputMethodAdapter * * @see java.awt.im.spi.InputMethod#setCharacterSubsets */ + @Override public void setCharacterSubsets(Subset[] subsets) { if (subsets == null){ setConversionStatus(context, cmode); @@ -266,6 +273,7 @@ public class WInputMethod extends InputMethodAdapter } } + @Override public void dispatchEvent(AWTEvent e) { if (e instanceof ComponentEvent) { Component comp = ((ComponentEvent) e).getComponent(); @@ -281,6 +289,7 @@ public class WInputMethod extends InputMethodAdapter } } + @Override public void activate() { boolean isAc = haveActiveClient(); @@ -317,6 +326,7 @@ public class WInputMethod extends InputMethodAdapter } + @Override public void deactivate(boolean isTemporary) { // Sync currentLocale with the Windows keyboard layout which might be changed @@ -336,6 +346,7 @@ public class WInputMethod extends InputMethodAdapter * Explicitly disable the native IME. Native IME is not disabled when * deactivate is called. */ + @Override public void disableInputMethod() { if (lastFocussedComponentPeer != null) { disableNativeIME(lastFocussedComponentPeer); @@ -348,6 +359,7 @@ public class WInputMethod extends InputMethodAdapter * Returns a string with information about the windows input method, * or null. */ + @Override public String getNativeInputMethodInfo() { return getNativeIMMDescription(); } @@ -358,6 +370,7 @@ public class WInputMethod extends InputMethodAdapter * Calling stopListening to give other input method the keybaord input * focus. */ + @Override protected void stopListening() { // Since the native input method is not disabled when deactivate is // called, we need to call disableInputMethod to explicitly turn off the @@ -366,6 +379,7 @@ public class WInputMethod extends InputMethodAdapter } // implements sun.awt.im.InputMethodAdapter.setAWTFocussedComponent + @Override protected void setAWTFocussedComponent(Component component) { if (component == null) { return; @@ -386,6 +400,7 @@ public class WInputMethod extends InputMethodAdapter } // implements java.awt.im.spi.InputMethod.hideWindows + @Override public void hideWindows() { if (awtFocussedComponentPeer != null) { /* Hide the native status window including the Windows language @@ -401,6 +416,7 @@ public class WInputMethod extends InputMethodAdapter /** * @see java.awt.im.spi.InputMethod#removeNotify */ + @Override public void removeNotify() { endCompositionNative(context, DISCARD_INPUT); awtFocussedComponent = null; @@ -427,10 +443,12 @@ public class WInputMethod extends InputMethodAdapter } // see sun.awt.im.InputMethodAdapter.supportsBelowTheSpot + @Override protected boolean supportsBelowTheSpot() { return true; } + @Override public void endComposition() { //right now the native endCompositionNative() just cancel @@ -442,6 +460,7 @@ public class WInputMethod extends InputMethodAdapter /** * @see java.awt.im.spi.InputMethod#setCompositionEnabled(boolean) */ + @Override public void setCompositionEnabled(boolean enable) { setOpenStatus(context, enable); } @@ -449,6 +468,7 @@ public class WInputMethod extends InputMethodAdapter /** * @see java.awt.im.spi.InputMethod#isCompositionEnabled */ + @Override public boolean isCompositionEnabled() { return getOpenStatus(context); } @@ -557,6 +577,7 @@ public class WInputMethod extends InputMethodAdapter // AWT Event thread. Otherwise, a potential deadlock // could happen. Runnable r = new Runnable() { + @Override public void run() { int x = 0; int y = 0; diff --git a/jdk/src/windows/classes/sun/awt/windows/WInputMethodDescriptor.java b/jdk/src/windows/classes/sun/awt/windows/WInputMethodDescriptor.java index 0d33c459ae7..1885b0a79fa 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WInputMethodDescriptor.java +++ b/jdk/src/windows/classes/sun/awt/windows/WInputMethodDescriptor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -40,11 +40,12 @@ import java.util.Locale; * @since JDK1.3 */ -class WInputMethodDescriptor implements InputMethodDescriptor { +final class WInputMethodDescriptor implements InputMethodDescriptor { /** * @see java.awt.im.spi.InputMethodDescriptor#getAvailableLocales */ + @Override public Locale[] getAvailableLocales() { // returns a copy of internal list for public API Locale[] locales = getAvailableLocalesInternal(); @@ -60,6 +61,7 @@ class WInputMethodDescriptor implements InputMethodDescriptor { /** * @see java.awt.im.spi.InputMethodDescriptor#hasDynamicLocaleList */ + @Override public boolean hasDynamicLocaleList() { return true; } @@ -67,6 +69,7 @@ class WInputMethodDescriptor implements InputMethodDescriptor { /** * @see java.awt.im.spi.InputMethodDescriptor#getInputMethodDisplayName */ + @Override public synchronized String getInputMethodDisplayName(Locale inputLocale, Locale displayLanguage) { // We ignore the input locale. // When displaying for the default locale, rely on the localized AWT properties; @@ -81,6 +84,7 @@ class WInputMethodDescriptor implements InputMethodDescriptor { /** * @see java.awt.im.spi.InputMethodDescriptor#getInputMethodIcon */ + @Override public Image getInputMethodIcon(Locale inputLocale) { return null; } @@ -88,6 +92,7 @@ class WInputMethodDescriptor implements InputMethodDescriptor { /** * @see java.awt.im.spi.InputMethodDescriptor#createInputMethod */ + @Override public InputMethod createInputMethod() throws Exception { return new WInputMethod(); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java b/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java index fdd15d29153..20b515b4a63 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2014, 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 @@ -31,7 +31,7 @@ import java.awt.peer.ComponentPeer; import sun.awt.KeyboardFocusManagerPeerImpl; import sun.awt.CausedFocusEvent; -class WKeyboardFocusManagerPeer extends KeyboardFocusManagerPeerImpl { +final class WKeyboardFocusManagerPeer extends KeyboardFocusManagerPeerImpl { static native void setNativeFocusOwner(ComponentPeer peer); static native Component getNativeFocusOwner(); static native Window getNativeFocusedWindow(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WListPeer.java b/jdk/src/windows/classes/sun/awt/windows/WListPeer.java index 0c090b5a46b..96ce7da31a9 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WListPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WListPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -31,12 +31,14 @@ import java.awt.event.ItemEvent; final class WListPeer extends WComponentPeer implements ListPeer { + @Override public boolean isFocusable() { return true; } // ListPeer implementation + @Override public int[] getSelectedIndexes() { List l = (List)target; int len = l.countItems(); @@ -53,26 +55,31 @@ final class WListPeer extends WComponentPeer implements ListPeer { } /* New method name for 1.1 */ + @Override public void add(String item, int index) { addItem(item, index); } /* New method name for 1.1 */ + @Override public void removeAll() { clear(); } /* New method name for 1.1 */ + @Override public void setMultipleMode (boolean b) { setMultipleSelections(b); } /* New method name for 1.1 */ + @Override public Dimension getPreferredSize(int rows) { return preferredSize(rows); } /* New method name for 1.1 */ + @Override public Dimension getMinimumSize(int rows) { return minimumSize(rows); } @@ -83,13 +90,17 @@ final class WListPeer extends WComponentPeer implements ListPeer { } native void addItems(String[] items, int index, int width); + @Override public native void delItems(int start, int end); public void clear() { List l = (List)target; delItems(0, l.countItems()); } + @Override public native void select(int index); + @Override public native void deselect(int index); + @Override public native void makeVisible(int index); public native void setMultipleSelections(boolean v); public native int getMaxWidth(); @@ -114,8 +125,10 @@ final class WListPeer extends WComponentPeer implements ListPeer { super(target); } + @Override native void create(WComponentPeer parent); + @Override void initialize() { List li = (List)target; @@ -169,6 +182,7 @@ final class WListPeer extends WComponentPeer implements ListPeer { super.initialize(); } + @Override public boolean shouldClearRectBeforePaint() { return false; } @@ -178,7 +192,8 @@ final class WListPeer extends WComponentPeer implements ListPeer { /*public*/ native boolean isSelected(int index); // update the fontmetrics when the font changes - public synchronized void _setFont(Font f) + @Override + synchronized void _setFont(Font f) { super._setFont( f ); fm = getFontMetrics( ((List)target).getFont() ); @@ -190,6 +205,7 @@ final class WListPeer extends WComponentPeer implements ListPeer { void handleAction(final int index, final long when, final int modifiers) { final List l = (List)target; WToolkit.executeOnEventHandlerThread(l, new Runnable() { + @Override public void run() { l.select(index); postEvent(new ActionEvent(target, ActionEvent.ACTION_PERFORMED, @@ -201,6 +217,7 @@ final class WListPeer extends WComponentPeer implements ListPeer { void handleListChanged(final int index) { final List l = (List)target; WToolkit.executeOnEventHandlerThread(l, new Runnable() { + @Override public void run() { postEvent(new ItemEvent(l, ItemEvent.ITEM_STATE_CHANGED, Integer.valueOf(index), diff --git a/jdk/src/windows/classes/sun/awt/windows/WMenuBarPeer.java b/jdk/src/windows/classes/sun/awt/windows/WMenuBarPeer.java index c7ec3fb4f31..3a661da6a3a 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WMenuBarPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WMenuBarPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -27,13 +27,16 @@ package sun.awt.windows; import java.awt.*; import java.awt.peer.*; -class WMenuBarPeer extends WMenuPeer implements MenuBarPeer { +final class WMenuBarPeer extends WMenuPeer implements MenuBarPeer { // MenuBarPeer implementation + @Override public native void addMenu(Menu m); + @Override public native void delMenu(int index); + @Override public void addHelpMenu(Menu m) { addMenu(m); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WMenuPeer.java b/jdk/src/windows/classes/sun/awt/windows/WMenuPeer.java index f29c043db9e..567af925d38 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WMenuPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WMenuPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -31,10 +31,13 @@ class WMenuPeer extends WMenuItemPeer implements MenuPeer { // MenuPeer implementation + @Override public native void addSeparator(); + @Override public void addItem(MenuItem item) { WMenuItemPeer itemPeer = (WMenuItemPeer) WToolkit.targetToPeer(item); } + @Override public native void delItem(int index); // Toolkit & peer internals diff --git a/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java b/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java index c0e37a97510..22b0da181dd 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -25,19 +25,14 @@ package sun.awt.windows; -import java.awt.Toolkit; import java.awt.Component; - import java.awt.Point; import java.awt.dnd.DnDConstants; +import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragSource; import java.awt.dnd.MouseDragGestureRecognizer; -import java.awt.dnd.DragGestureListener; - import java.awt.event.InputEvent; import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.event.MouseMotionListener; import sun.awt.dnd.SunDragSourceContextPeer; @@ -54,7 +49,7 @@ import sun.awt.dnd.SunDragSourceContextPeer; * @see java.awt.dnd.DragSource */ -class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { +final class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { private static final long serialVersionUID = -3527844310018033570L; @@ -140,6 +135,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when the mouse has been clicked on a component. */ + @Override public void mouseClicked(MouseEvent e) { // do nothing } @@ -148,6 +144,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when a mouse button has been pressed on a component. */ + @Override public void mousePressed(MouseEvent e) { events.clear(); @@ -165,6 +162,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when a mouse button has been released on a component. */ + @Override public void mouseReleased(MouseEvent e) { events.clear(); } @@ -173,6 +171,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when the mouse enters a component. */ + @Override public void mouseEntered(MouseEvent e) { events.clear(); } @@ -181,6 +180,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when the mouse exits a component. */ + @Override public void mouseExited(MouseEvent e) { if (!events.isEmpty()) { // gesture pending @@ -196,6 +196,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * Invoked when a mouse button is pressed on a component. */ + @Override public void mouseDragged(MouseEvent e) { if (!events.isEmpty()) { // gesture pending int dop = mapDragOperationFromModifiers(e); @@ -225,6 +226,7 @@ class WMouseDragGestureRecognizer extends MouseDragGestureRecognizer { * (with no buttons no down). */ + @Override public void mouseMoved(MouseEvent e) { // do nothing } diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java index 08e73c56825..16d707bc25c 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -34,7 +34,7 @@ import java.awt.print.PrinterJob; import java.awt.print.PageFormat; import java.awt.print.Printable; -public class WPageDialog extends WPrintDialog { +final class WPageDialog extends WPrintDialog { static { initIDs(); } @@ -55,6 +55,7 @@ public class WPageDialog extends WPrintDialog { this.painter = painter; } + @Override @SuppressWarnings("deprecation") public void addNotify() { synchronized(getTreeLock()) { diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java index 707bc3f683a..78a1c04cf12 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -25,7 +25,7 @@ package sun.awt.windows; -public class WPageDialogPeer extends WPrintDialogPeer { +final class WPageDialogPeer extends WPrintDialogPeer { WPageDialogPeer(WPageDialog target) { super(target); @@ -37,8 +37,10 @@ public class WPageDialogPeer extends WPrintDialogPeer { */ private native boolean _show(); + @Override public void show() { new Thread(new Runnable() { + @Override public void run() { // Call pageSetup even with no printer installed, this // will display Windows error dialog and return false. diff --git a/jdk/src/windows/classes/sun/awt/windows/WPanelPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPanelPeer.java index 80ae1133479..e6cf356869d 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPanelPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPanelPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -27,14 +27,13 @@ package sun.awt.windows; import java.awt.*; import java.awt.peer.*; -import java.util.Vector; - import sun.awt.SunGraphicsCallback; class WPanelPeer extends WCanvasPeer implements PanelPeer { // ComponentPeer overrides + @Override public void paint(Graphics g) { super.paint(g); SunGraphicsCallback.PaintHeavyweightComponentsCallback.getInstance(). @@ -42,6 +41,7 @@ class WPanelPeer extends WCanvasPeer implements PanelPeer { SunGraphicsCallback.LIGHTWEIGHTS | SunGraphicsCallback.HEAVYWEIGHTS); } + @Override public void print(Graphics g) { super.print(g); SunGraphicsCallback.PrintHeavyweightComponentsCallback.getInstance(). @@ -52,6 +52,7 @@ class WPanelPeer extends WCanvasPeer implements PanelPeer { // ContainerPeer (via PanelPeer) implementation + @Override public Insets getInsets() { return insets_; } @@ -73,6 +74,7 @@ class WPanelPeer extends WCanvasPeer implements PanelPeer { super(target); } + @Override void initialize() { super.initialize(); insets_ = new Insets(0,0,0,0); diff --git a/jdk/src/windows/classes/sun/awt/windows/WPathGraphics.java b/jdk/src/windows/classes/sun/awt/windows/WPathGraphics.java index 80042a15150..282d84563e6 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPathGraphics.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPathGraphics.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -74,7 +74,7 @@ import sun.font.TrueTypeFont; import sun.print.PathGraphics; import sun.print.ProxyGraphics2D; -class WPathGraphics extends PathGraphics { +final class WPathGraphics extends PathGraphics { /** * For a drawing application the initial user space @@ -896,6 +896,7 @@ class WPathGraphics extends PathGraphics { * @param handlingTransparency if being recursively called to * print opaque region of transparent image */ + @Override protected boolean drawImageToPlatform(Image image, AffineTransform xform, Color bgcolor, int srcX, int srcY, @@ -1335,6 +1336,7 @@ class WPathGraphics extends PathGraphics { * Have the printing application redraw everything that falls * within the page bounds defined by region. */ + @Override public void redrawRegion(Rectangle2D region, double scaleX, double scaleY, Shape savedClip, AffineTransform savedTransform) throws PrinterException { @@ -1434,6 +1436,7 @@ class WPathGraphics extends PathGraphics { * with the specified color. * The path is provided in device coordinates. */ + @Override protected void deviceFill(PathIterator pathIter, Color color) { WPrinterJob wPrinterJob = (WPrinterJob) getPrinterJob(); @@ -1448,6 +1451,7 @@ class WPathGraphics extends PathGraphics { * path defined by pathIter * The path is provided in device coordinates. */ + @Override protected void deviceClip(PathIterator pathIter) { WPrinterJob wPrinterJob = (WPrinterJob) getPrinterJob(); @@ -1459,6 +1463,7 @@ class WPathGraphics extends PathGraphics { /** * Draw the bounding rectangle using transformed coordinates. */ + @Override protected void deviceFrameRect(int x, int y, int width, int height, Color color) { @@ -1548,6 +1553,7 @@ class WPathGraphics extends PathGraphics { * GDI fillRect function. * Boundaries are determined by the given coordinates. */ + @Override protected void deviceFillRect(int x, int y, int width, int height, Color color) { /* @@ -1584,6 +1590,7 @@ class WPathGraphics extends PathGraphics { * Draw a line using a pen created using the specified color * and current stroke properties. */ + @Override protected void deviceDrawLine(int xBegin, int yBegin, int xEnd, int yEnd, Color color) { Stroke stroke = getStroke(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java index afc0ff6404f..6818be35dba 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -29,12 +29,12 @@ import java.awt.peer.*; import sun.awt.AWTAccessor; -public class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer { +final class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer { // We can't use target.getParent() for TrayIcon popup // because this method should return null for the TrayIcon // popup regardless of that whether it has parent or not. - public WPopupMenuPeer(PopupMenu target) { + WPopupMenuPeer(PopupMenu target) { this.target = target; MenuContainer parent = null; @@ -67,7 +67,7 @@ public class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer { } } - native void createMenu(WComponentPeer parent); + private native void createMenu(WComponentPeer parent); public void show(Event e) { Component origin = (Component)e.target; @@ -106,5 +106,5 @@ public class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer { _show(e); } - public native void _show(Event e); + private native void _show(Event e); } diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java index af1a5dcb83e..c3d0295f44f 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -30,7 +30,9 @@ import java.awt.peer.*; import java.awt.print.PrinterJob; -public class WPrintDialog extends Dialog { +import sun.awt.AWTAccessor; + +class WPrintDialog extends Dialog { static { initIDs(); } @@ -38,21 +40,23 @@ public class WPrintDialog extends Dialog { protected PrintJob job; protected PrinterJob pjob; - public WPrintDialog(Frame parent, PrinterJob control) { + WPrintDialog(Frame parent, PrinterJob control) { super(parent, true); this.pjob = control; setLayout(null); } - public WPrintDialog(Dialog parent, PrinterJob control) { + WPrintDialog(Dialog parent, PrinterJob control) { super(parent, "", true); this.pjob = control; setLayout(null); } - // Use native code to circumvent access restrictions on Component.peer - protected native void setPeer(ComponentPeer peer); + final void setPeer(final ComponentPeer p){ + AWTAccessor.getComponentAccessor().setPeer(this, p); + } + @Override @SuppressWarnings("deprecation") public void addNotify() { synchronized(getTreeLock()) { @@ -72,11 +76,11 @@ public class WPrintDialog extends Dialog { private boolean retval = false; - public void setRetVal(boolean ret) { + final void setRetVal(boolean ret) { retval = ret; } - public boolean getRetVal() { + final boolean getRetVal() { return retval; } diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java index ee116d46879..d1efab01404 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -30,11 +30,10 @@ import java.awt.peer.DialogPeer; import java.awt.peer.ComponentPeer; import java.awt.dnd.DropTarget; import java.util.Vector; -import sun.awt.AppContext; import sun.awt.CausedFocusEvent; import sun.awt.AWTAccessor; -public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { +class WPrintDialogPeer extends WWindowPeer implements DialogPeer { static { initIDs(); @@ -42,29 +41,34 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { private WComponentPeer parent; - private Vector blockedWindows = new Vector(); + private Vector blockedWindows = new Vector<>(); WPrintDialogPeer(WPrintDialog target) { super(target); } + @Override void create(WComponentPeer parent) { this.parent = parent; } // fix for CR 6178323: // don't use checkCreation() from WComponentPeer to avoid hwnd check + @Override protected void checkCreation() { } + @Override protected void disposeImpl() { WToolkit.targetDisposedPeer(target, this); } private native boolean _show(); + @Override public void show() { new Thread(new Runnable() { + @Override public void run() { try { ((WPrintDialog)target).setRetVal(_show()); @@ -102,6 +106,7 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { } } + @Override public void blockWindows(java.util.List toBlock) { for (Window w : toBlock) { WWindowPeer wp = (WWindowPeer)AWTAccessor.getComponentAccessor().getPeer(w); @@ -111,28 +116,43 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { } } + @Override public native void toFront(); + @Override public native void toBack(); // unused methods. Overridden to disable this functionality as // it requires HWND which is not available for FileDialog + @Override void initialize() {} + @Override public void updateAlwaysOnTopState() {} + @Override public void setResizable(boolean resizable) {} - public void hide() {} - public void enable() {} - public void disable() {} + @Override + void hide() {} + @Override + void enable() {} + @Override + void disable() {} + @Override public void reshape(int x, int y, int width, int height) {} public boolean handleEvent(Event e) { return false; } + @Override public void setForeground(Color c) {} + @Override public void setBackground(Color c) {} + @Override public void setFont(Font f) {} + @Override public void updateMinimumSize() {} + @Override public void updateIconImages() {} public boolean requestFocus(boolean temporary, boolean focusedWindowChangeAllowed) { return false; } + @Override public boolean requestFocus (Component lightweightChild, boolean temporary, boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause) @@ -141,13 +161,20 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { return false; } + @Override public void updateFocusableWindowState() {} + @Override void start() {} + @Override public void beginValidate() {} + @Override public void endValidate() {} void invalidate(int x, int y, int width, int height) {} + @Override public void addDropTarget(DropTarget dt) {} + @Override public void removeDropTarget(DropTarget dt) {} + @Override public void setZOrder(ComponentPeer above) {} /** @@ -156,8 +183,11 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer { private static native void initIDs(); // The effects are not supported for system dialogs. + @Override public void applyShape(sun.java2d.pipe.Region shape) {} + @Override public void setOpacity(float opacity) {} + @Override public void setOpaque(boolean isOpaque) {} public void updateWindow(java.awt.image.BufferedImage backBuffer) {} diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java index d56b7d32428..3b7c5f3c982 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java +++ b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -57,26 +57,19 @@ import java.awt.print.PrinterJob; import java.awt.print.PrinterException; import javax.print.PrintService; -import java.io.IOException; import java.io.File; -import java.util.Hashtable; -import java.util.Properties; import java.util.MissingResourceException; import java.util.ResourceBundle; -import sun.awt.Win32GraphicsEnvironment; - import sun.print.PeekGraphics; import sun.print.PeekMetrics; -import java.net.URL; import java.net.URI; import java.net.URISyntaxException; import javax.print.PrintServiceLookup; import javax.print.attribute.PrintRequestAttributeSet; -import javax.print.attribute.HashPrintServiceAttributeSet; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.Attribute; import javax.print.attribute.standard.Sides; @@ -84,7 +77,6 @@ import javax.print.attribute.standard.Chromaticity; import javax.print.attribute.standard.PrintQuality; import javax.print.attribute.standard.PrinterResolution; import javax.print.attribute.standard.SheetCollate; -import javax.print.attribute.IntegerSyntax; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.Destination; import javax.print.attribute.standard.OrientationRequested; @@ -92,17 +84,13 @@ import javax.print.attribute.standard.Media; import javax.print.attribute.standard.MediaSizeName; import javax.print.attribute.standard.MediaSize; import javax.print.attribute.standard.MediaTray; -import javax.print.attribute.standard.PrinterName; -import javax.print.attribute.standard.JobMediaSheetsSupported; import javax.print.attribute.standard.PageRanges; -import javax.print.attribute.Size2DSyntax; import sun.awt.Win32FontManager; import sun.print.RasterPrinterJob; import sun.print.SunAlternateMedia; import sun.print.SunPageSelection; -import sun.print.SunMinMaxPage; import sun.print.Win32MediaTray; import sun.print.Win32PrintService; import sun.print.Win32PrintServiceLookup; @@ -121,7 +109,8 @@ import sun.java2d.DisposerTarget; * * @author Richard Blanchard */ -public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { +public final class WPrinterJob extends RasterPrinterJob + implements DisposerTarget { /* Class Constants */ @@ -290,6 +279,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { private long mPrintHDevMode; private long mPrintHDevNames; + @Override public void dispose() { WPrinterJob.deleteDC(mPrintDC, mPrintHDevMode, mPrintHDevNames); } @@ -402,6 +392,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { */ private Object disposerReferent = new Object(); + @Override public Object getDisposerReferent() { return disposerReferent; } @@ -430,6 +421,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * @see java.awt.GraphicsEnvironment#isHeadless * @since JDK1.2 */ + @Override public PageFormat pageDialog(PageFormat page) throws HeadlessException { if (GraphicsEnvironment.isHeadless()) { throw new HeadlessException(); @@ -570,6 +562,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * returns true. * @see java.awt.GraphicsEnvironment#isHeadless */ + @Override public boolean printDialog() throws HeadlessException { if (GraphicsEnvironment.isHeadless()) { @@ -603,6 +596,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * @throws PrinterException if the specified service does not support * 2D printing. */ + @Override public void setPrintService(PrintService service) throws PrinterException { super.setPrintService(service); @@ -628,6 +622,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { } } + @Override public PrintService getPrintService() { if (myService == null) { String printerName = getNativePrintService(); @@ -681,6 +676,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * In the event that the user changes the printer using the dialog, then it is up to GDI to report back all changed values. */ + @Override protected void setAttributes(PrintRequestAttributeSet attributes) throws PrinterException { @@ -750,6 +746,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * Note: PageFormat.getPaper() returns a clone and getDefaultPage() * gets that clone so it won't overwrite the original paper. */ + @Override public PageFormat defaultPage(PageFormat page) { PageFormat newPage = (PageFormat)page.clone(); getDefaultPage(newPage); @@ -759,6 +756,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * validate the paper size against the current printer. */ + @Override protected native void validatePaper(Paper origPaper, Paper newPaper ); /** @@ -774,6 +772,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * causes the print job to be rasterized. */ + @Override protected Graphics2D createPathGraphics(PeekGraphics peekGraphics, PrinterJob printerJob, Printable painter, @@ -810,6 +809,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { } + @Override protected double getXRes() { if (mAttXRes != 0) { return mAttXRes; @@ -818,6 +818,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { } } + @Override protected double getYRes() { if (mAttYRes != 0) { return mAttYRes; @@ -826,26 +827,32 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { } } + @Override protected double getPhysicalPrintableX(Paper p) { return mPrintPhysX; } + @Override protected double getPhysicalPrintableY(Paper p) { return mPrintPhysY; } + @Override protected double getPhysicalPrintableWidth(Paper p) { return mPrintWidth; } + @Override protected double getPhysicalPrintableHeight(Paper p) { return mPrintHeight; } + @Override protected double getPhysicalPageWidth(Paper p) { return mPageWidth; } + @Override protected double getPhysicalPageHeight(Paper p) { return mPageHeight; } @@ -857,6 +864,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * collation requests - which can only originate from the print dialog. * REMIND: check if this can be deleted already. */ + @Override protected boolean isCollated() { return userRequestedCollation; } @@ -869,6 +877,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * book need only be printed once and the copies * will be collated and made in the printer. */ + @Override protected int getCollatedCopies() { debug_println("driverDoesMultipleCopies="+driverDoesMultipleCopies +" driverDoesCollation="+driverDoesCollation); @@ -891,6 +900,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * iterate over the number of copies, this method always returns * 1. */ + @Override protected int getNoncollatedCopies() { if (driverDoesMultipleCopies || super.isCollated()) { return 1; @@ -1128,6 +1138,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * Remove control characters. */ + @Override protected String removeControlChars(String str) { return super.removeControlChars(str); } @@ -1267,6 +1278,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * Begin a new page. */ + @Override protected void startPage(PageFormat format, Printable painter, int index, boolean paperChanged) { @@ -1283,6 +1295,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * End a page. */ + @Override protected void endPage(PageFormat format, Printable painter, int index) { @@ -1302,6 +1315,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * Set the number of copies to be printed. */ + @Override public void setCopies(int copies) { super.setCopies(copies); defaultCopies = false; @@ -1315,7 +1329,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /** * Set copies in device. */ - public native void setNativeCopies(int copies); + private native void setNativeCopies(int copies); /** * Displays the print dialog and records the user's settings @@ -1328,6 +1342,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { /* Make sure printer DC is intialised and that info about the printer * is reflected back up to Java code */ + @Override protected native void initPrinter(); /** @@ -1343,6 +1358,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { */ private native boolean _startDoc(String dest, String jobName) throws PrinterException; + @Override protected void startDoc() throws PrinterException { if (!_startDoc(mDestination, getJobName())) { cancel(); @@ -1353,12 +1369,14 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * Call Window's EndDoc routine to end a * print job. */ + @Override protected native void endDoc(); /** * Call Window's AbortDoc routine to abort a * print job. */ + @Override protected native void abortDoc(); /** @@ -1386,6 +1404,7 @@ public class WPrinterJob extends RasterPrinterJob implements DisposerTarget { * page. The width and height of the band is * specified by the caller. */ + @Override protected native void printBand(byte[] data, int x, int y, int width, int height); @@ -2204,6 +2223,7 @@ class PrintToFileErrorDialog extends Dialog implements ActionListener{ } } + @Override public void actionPerformed(ActionEvent event) { setVisible(false); dispose(); diff --git a/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java b/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java index e817da6f3b0..8521ec73c05 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, 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 @@ -28,7 +28,7 @@ package sun.awt.windows; import java.awt.*; import java.awt.peer.RobotPeer; -class WRobotPeer extends WObjectPeer implements RobotPeer +final class WRobotPeer extends WObjectPeer implements RobotPeer { WRobotPeer() { create(); @@ -39,27 +39,36 @@ class WRobotPeer extends WObjectPeer implements RobotPeer private synchronized native void _dispose(); + @Override protected void disposeImpl() { _dispose(); } public native void create(); public native void mouseMoveImpl(int x, int y); + @Override public void mouseMove(int x, int y) { mouseMoveImpl(x, y); } + @Override public native void mousePress(int buttons); + @Override public native void mouseRelease(int buttons); + @Override public native void mouseWheel(int wheelAmt); + @Override public native void keyPress( int keycode ); + @Override public native void keyRelease( int keycode ); + @Override public int getRGBPixel(int x, int y) { // See 7002846: that's ineffective, but works correctly with non-opaque windows return getRGBPixels(new Rectangle(x, y, 1, 1))[0]; } + @Override public int [] getRGBPixels(Rectangle bounds) { int pixelArray[] = new int[bounds.width*bounds.height]; getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray); diff --git a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java index 3e7dd821a61..654c502743d 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -33,7 +33,7 @@ import sun.awt.PeerEvent; import sun.util.logging.PlatformLogger; -class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { +final class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.windows.WScrollPanePeer"); @@ -47,6 +47,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { } static native void initIDs(); + @Override native void create(WComponentPeer parent); native int getOffset(int orient); @@ -56,6 +57,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { scrollbarHeight = _getHScrollbarHeight(); } + @Override void initialize() { super.initialize(); setInsets(); @@ -63,22 +65,27 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { setScrollPosition(-i.left,-i.top); } + @Override public void setUnitIncrement(Adjustable adj, int p) { // The unitIncrement is grabbed from the target as needed. } + @Override public Insets insets() { return getInsets(); } private native void setInsets(); + @Override public native synchronized void setScrollPosition(int x, int y); + @Override public int getHScrollbarHeight() { return scrollbarHeight; } private native int _getHScrollbarHeight(); + @Override public int getVScrollbarWidth() { return scrollbarWidth; } @@ -96,6 +103,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { * the actual windows may not have changed yet, so the size * information from the java-level is passed down and used. */ + @Override public void childResized(int width, int height) { ScrollPane sp = (ScrollPane)target; Dimension vs = sp.getSize(); @@ -112,6 +120,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { * of adjustables, whether it was modified externally or from the * native scrollbars themselves. */ + @Override public void setValue(Adjustable adj, int v) { Component c = getScrollChild(); if (c == null) { @@ -160,6 +169,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { super(source, runnable, 0L); } + @Override public PeerEvent coalesceEvents(PeerEvent newEvent) { if (log.isLoggable(PlatformLogger.Level.FINEST)) { log.finest("ScrollEvent coalesced: " + newEvent); @@ -187,6 +197,7 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer { this.isAdjusting = isAdjusting; } + @Override public void run() { if (getScrollChild() == null) { return; diff --git a/jdk/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java b/jdk/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java index b097b3541aa..cc6c4b9bc6f 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -30,11 +30,12 @@ import java.awt.Dimension; import java.awt.Toolkit; import java.awt.peer.SystemTrayPeer; -public class WSystemTrayPeer extends WObjectPeer implements SystemTrayPeer { +final class WSystemTrayPeer extends WObjectPeer implements SystemTrayPeer { WSystemTrayPeer(SystemTray target) { this.target = target; } + @Override public Dimension getTrayIconSize() { return new Dimension(WTrayIconPeer.TRAY_ICON_WIDTH, WTrayIconPeer.TRAY_ICON_HEIGHT); } @@ -43,6 +44,7 @@ public class WSystemTrayPeer extends WObjectPeer implements SystemTrayPeer { return ((WToolkit)Toolkit.getDefaultToolkit()).isTraySupported(); } + @Override protected void disposeImpl() { } } diff --git a/jdk/src/windows/classes/sun/awt/windows/WTextAreaPeer.java b/jdk/src/windows/classes/sun/awt/windows/WTextAreaPeer.java index 746f27790d7..a13c24a1fe1 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WTextAreaPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WTextAreaPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -53,6 +53,7 @@ final class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer { public Dimension getPreferredSize(int rows, int cols) { return getMinimumSize(rows, cols); } + @Override public Dimension getMinimumSize(int rows, int cols) { FontMetrics fm = getFontMetrics(((TextArea)target).getFont()); diff --git a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java index 04a550d8982..5bc140ebccb 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java +++ b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java @@ -67,7 +67,7 @@ import sun.misc.PerformanceLogger; import sun.util.logging.PlatformLogger; import sun.security.util.SecurityConstants; -public class WToolkit extends SunToolkit implements Runnable { +public final class WToolkit extends SunToolkit implements Runnable { private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.windows.WToolkit"); @@ -98,6 +98,7 @@ public class WToolkit extends SunToolkit implements Runnable { if (!loaded) { java.security.AccessController.doPrivileged( new java.security.PrivilegedAction() { + @Override public Void run() { System.loadLibrary("awt"); return null; @@ -121,6 +122,7 @@ public class WToolkit extends SunToolkit implements Runnable { AccessController.doPrivileged( new PrivilegedAction () { + @Override public Void run() { String browserProp = System.getProperty("browser"); if (browserProp != null && browserProp.equals("sun.plugin")) { @@ -212,6 +214,7 @@ public class WToolkit extends SunToolkit implements Runnable { public native void embeddedEventLoopIdleProcessing(); static class ToolkitDisposer implements sun.java2d.DisposerRecord { + @Override public void dispose() { WToolkit.postDispose(); } @@ -266,6 +269,7 @@ public class WToolkit extends SunToolkit implements Runnable { private final void registerShutdownHook() { AccessController.doPrivileged(new PrivilegedAction() { + @Override public Void run() { ThreadGroup currentTG = Thread.currentThread().getThreadGroup(); @@ -275,6 +279,7 @@ public class WToolkit extends SunToolkit implements Runnable { parentTG = currentTG.getParent(); } Thread shutdown = new Thread(currentTG, new Runnable() { + @Override public void run() { shutdown(); } @@ -286,6 +291,7 @@ public class WToolkit extends SunToolkit implements Runnable { }); } + @Override public void run() { Thread.currentThread().setPriority(Thread.NORM_PRIORITY+1); boolean startPump = init(); @@ -330,85 +336,98 @@ public class WToolkit extends SunToolkit implements Runnable { * WARNING: startSecondaryEventLoop must only be called from the "AWT- * Windows" thread. */ - public static native void startSecondaryEventLoop(); - public static native void quitSecondaryEventLoop(); + static native void startSecondaryEventLoop(); + static native void quitSecondaryEventLoop(); /* * Create peer objects. */ + @Override public ButtonPeer createButton(Button target) { ButtonPeer peer = new WButtonPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public TextFieldPeer createTextField(TextField target) { TextFieldPeer peer = new WTextFieldPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public LabelPeer createLabel(Label target) { LabelPeer peer = new WLabelPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public ListPeer createList(List target) { ListPeer peer = new WListPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public CheckboxPeer createCheckbox(Checkbox target) { CheckboxPeer peer = new WCheckboxPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public ScrollbarPeer createScrollbar(Scrollbar target) { ScrollbarPeer peer = new WScrollbarPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public ScrollPanePeer createScrollPane(ScrollPane target) { ScrollPanePeer peer = new WScrollPanePeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public TextAreaPeer createTextArea(TextArea target) { TextAreaPeer peer = new WTextAreaPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public ChoicePeer createChoice(Choice target) { ChoicePeer peer = new WChoicePeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public FramePeer createFrame(Frame target) { FramePeer peer = new WFramePeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public FramePeer createLightweightFrame(LightweightFrame target) { FramePeer peer = new WLightweightFramePeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public CanvasPeer createCanvas(Canvas target) { CanvasPeer peer = new WCanvasPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override @SuppressWarnings("deprecation") public void disableBackgroundErase(Canvas canvas) { WCanvasPeer peer = (WCanvasPeer)canvas.getPeer(); @@ -418,60 +437,70 @@ public class WToolkit extends SunToolkit implements Runnable { peer.disableBackgroundErase(); } + @Override public PanelPeer createPanel(Panel target) { PanelPeer peer = new WPanelPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public WindowPeer createWindow(Window target) { WindowPeer peer = new WWindowPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public DialogPeer createDialog(Dialog target) { DialogPeer peer = new WDialogPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public FileDialogPeer createFileDialog(FileDialog target) { FileDialogPeer peer = new WFileDialogPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public MenuBarPeer createMenuBar(MenuBar target) { MenuBarPeer peer = new WMenuBarPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public MenuPeer createMenu(Menu target) { MenuPeer peer = new WMenuPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public PopupMenuPeer createPopupMenu(PopupMenu target) { PopupMenuPeer peer = new WPopupMenuPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public MenuItemPeer createMenuItem(MenuItem target) { MenuItemPeer peer = new WMenuItemPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem target) { CheckboxMenuItemPeer peer = new WCheckboxMenuItemPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public RobotPeer createRobot(Robot target, GraphicsDevice screen) { // (target is unused for now) // Robot's don't need to go in the peer map since @@ -497,16 +526,19 @@ public class WToolkit extends SunToolkit implements Runnable { return peer; } + @Override public TrayIconPeer createTrayIcon(TrayIcon target) { WTrayIconPeer peer = new WTrayIconPeer(target); targetCreatedPeer(target, peer); return peer; } + @Override public SystemTrayPeer createSystemTray(SystemTray target) { return new WSystemTrayPeer(target); } + @Override public boolean isTraySupported() { return true; } @@ -516,14 +548,16 @@ public class WToolkit extends SunToolkit implements Runnable { return WDataTransferer.getInstanceImpl(); } + @Override public KeyboardFocusManagerPeer getKeyboardFocusManagerPeer() throws HeadlessException { return WKeyboardFocusManagerPeer.getInstance(); } - protected native void setDynamicLayoutNative(boolean b); + private native void setDynamicLayoutNative(boolean b); + @Override public void setDynamicLayout(boolean b) { if (b == dynamicLayoutSetting) { return; @@ -533,6 +567,7 @@ public class WToolkit extends SunToolkit implements Runnable { setDynamicLayoutNative(b); } + @Override protected boolean isDynamicLayoutSet() { return dynamicLayoutSetting; } @@ -541,8 +576,9 @@ public class WToolkit extends SunToolkit implements Runnable { * Called from lazilyLoadDynamicLayoutSupportedProperty because * Windows doesn't always send WM_SETTINGCHANGE when it should. */ - protected native boolean isDynamicLayoutSupportedNative(); + private native boolean isDynamicLayoutSupportedNative(); + @Override public boolean isDynamicLayoutActive() { return (isDynamicLayoutSet() && isDynamicLayoutSupported()); } @@ -550,6 +586,7 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns true if this frame state is supported. */ + @Override public boolean isFrameStateSupported(int state) { switch (state) { case Frame.NORMAL: @@ -574,25 +611,31 @@ public class WToolkit extends SunToolkit implements Runnable { return config.getColorModel(); } + @Override public ColorModel getColorModel() { return getStaticColorModel(); } + @Override public Insets getScreenInsets(GraphicsConfiguration gc) { return getScreenInsets(((Win32GraphicsDevice) gc.getDevice()).getScreen()); } + @Override public int getScreenResolution() { Win32GraphicsEnvironment ge = (Win32GraphicsEnvironment) GraphicsEnvironment.getLocalGraphicsEnvironment(); return ge.getXResolution(); } + @Override protected native int getScreenWidth(); + @Override protected native int getScreenHeight(); - protected native Insets getScreenInsets(int screen); + private native Insets getScreenInsets(int screen); + @Override public FontMetrics getFontMetrics(Font font) { // This is an unsupported hack, but left in for a customer. // Do not remove. @@ -604,6 +647,7 @@ public class WToolkit extends SunToolkit implements Runnable { return super.getFontMetrics(font); } + @Override public FontPeer getFontPeer(String name, int style) { FontPeer retval = null; String lcName = name.toLowerCase(); @@ -627,6 +671,7 @@ public class WToolkit extends SunToolkit implements Runnable { private native void nativeSync(); + @Override public void sync() { // flush the GDI/DD buffers nativeSync(); @@ -636,11 +681,13 @@ public class WToolkit extends SunToolkit implements Runnable { D3DRenderQueue.sync(); } + @Override public PrintJob getPrintJob(Frame frame, String doctitle, Properties props) { return getPrintJob(frame, doctitle, null, null); } + @Override public PrintJob getPrintJob(Frame frame, String doctitle, JobAttributes jobAttributes, PageAttributes pageAttributes) @@ -659,8 +706,10 @@ public class WToolkit extends SunToolkit implements Runnable { return printJob; } + @Override public native void beep(); + @Override public boolean getLockingKeyState(int key) { if (! (key == KeyEvent.VK_CAPS_LOCK || key == KeyEvent.VK_NUM_LOCK || key == KeyEvent.VK_SCROLL_LOCK || key == KeyEvent.VK_KANA_LOCK)) { @@ -669,8 +718,9 @@ public class WToolkit extends SunToolkit implements Runnable { return getLockingKeyStateNative(key); } - public native boolean getLockingKeyStateNative(int key); + private native boolean getLockingKeyStateNative(int key); + @Override public void setLockingKeyState(int key, boolean on) { if (! (key == KeyEvent.VK_CAPS_LOCK || key == KeyEvent.VK_NUM_LOCK || key == KeyEvent.VK_SCROLL_LOCK || key == KeyEvent.VK_KANA_LOCK)) { @@ -679,8 +729,9 @@ public class WToolkit extends SunToolkit implements Runnable { setLockingKeyStateNative(key, on); } - public native void setLockingKeyStateNative(int key, boolean on); + private native void setLockingKeyStateNative(int key, boolean on); + @Override public Clipboard getSystemClipboard() { SecurityManager security = System.getSecurityManager(); if (security != null) { @@ -694,6 +745,7 @@ public class WToolkit extends SunToolkit implements Runnable { return clipboard; } + @Override protected native void loadSystemColors(int[] systemColors); public static final Object targetToPeer(Object target) { @@ -707,6 +759,7 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns a new input method adapter descriptor for native input methods. */ + @Override public InputMethodDescriptor getInputMethodAdapterDescriptor() { return new WInputMethodDescriptor(); } @@ -714,6 +767,7 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns a style map for the input method highlight. */ + @Override public Map mapInputMethodHighlight( InputMethodHighlight highlight) { @@ -724,6 +778,7 @@ public class WToolkit extends SunToolkit implements Runnable { * Returns whether enableInputMethods should be set to true for peered * TextComponent instances on this platform. */ + @Override public boolean enableInputMethodsForTextComponent() { return true; } @@ -731,6 +786,7 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns the default keyboard locale of the underlying operating system */ + @Override public Locale getDefaultKeyboardLocale() { Locale locale = WInputMethod.getNativeLocale(); @@ -744,6 +800,7 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns a new custom cursor. */ + @Override public Cursor createCustomCursor(Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException { return new WCustomCursor(cursor, hotSpot, name); @@ -752,11 +809,13 @@ public class WToolkit extends SunToolkit implements Runnable { /** * Returns the supported cursor size (Win32 only has one). */ + @Override public Dimension getBestCursorSize(int preferredWidth, int preferredHeight) { return new Dimension(WCustomCursor.getCursorWidth(), WCustomCursor.getCursorHeight()); } + @Override public native int getMaximumCursorColors(); static void paletteChanged() { @@ -772,6 +831,7 @@ public class WToolkit extends SunToolkit implements Runnable { */ static public void displayChanged() { EventQueue.invokeLater(new Runnable() { + @Override public void run() { ((Win32GraphicsEnvironment)GraphicsEnvironment .getLocalGraphicsEnvironment()) @@ -784,10 +844,12 @@ public class WToolkit extends SunToolkit implements Runnable { * create the peer for a DragSourceContext */ + @Override public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException { return WDragSourceContextPeer.createDragSourceContextPeer(dge); } + @Override public T createDragGestureRecognizer(Class abstractRecognizerClass, DragSource ds, Component c, int srcActions, @@ -808,6 +870,7 @@ public class WToolkit extends SunToolkit implements Runnable { private static final String awtPrefix = "awt."; private static final String dndPrefix = "DnD."; + @Override protected Object lazilyLoadDesktopProperty(String name) { if (name.startsWith(prefix)) { String cursorName = name.substring(prefix.length(), name.length()) + postfix; @@ -874,6 +937,7 @@ public class WToolkit extends SunToolkit implements Runnable { */ private void windowsSettingChange() { EventQueue.invokeLater(new Runnable() { + @Override public void run() { updateProperties(); } @@ -896,6 +960,7 @@ public class WToolkit extends SunToolkit implements Runnable { } } + @Override public synchronized void addPropertyChangeListener(String name, PropertyChangeListener pcl) { if (name == null) { // See JavaDoc for the Toolkit.addPropertyChangeListener() method @@ -916,6 +981,7 @@ public class WToolkit extends SunToolkit implements Runnable { * initialize only static props here and do not try to initialize props which depends on wprops, * this should be done in lazilyLoadDesktopProperty() only. */ + @Override protected synchronized void initializeDesktopProperties() { desktopProperties.put("DnD.Autoscroll.initialDelay", Integer.valueOf(50)); @@ -931,6 +997,7 @@ public class WToolkit extends SunToolkit implements Runnable { * This returns the value for the desktop property "awt.font.desktophints" * This requires that the Windows properties have already been gathered. */ + @Override protected synchronized RenderingHints getDesktopAAHints() { if (wprops == null) { return null; @@ -939,6 +1006,7 @@ public class WToolkit extends SunToolkit implements Runnable { } } + @Override public boolean isModalityTypeSupported(Dialog.ModalityType modalityType) { return (modalityType == null) || (modalityType == Dialog.ModalityType.MODELESS) || @@ -947,6 +1015,7 @@ public class WToolkit extends SunToolkit implements Runnable { (modalityType == Dialog.ModalityType.TOOLKIT_MODAL); } + @Override public boolean isModalExclusionTypeSupported(Dialog.ModalExclusionType exclusionType) { return (exclusionType == null) || (exclusionType == Dialog.ModalExclusionType.NO_EXCLUDE) || @@ -986,6 +1055,7 @@ public class WToolkit extends SunToolkit implements Runnable { return !Win32GraphicsEnvironment.isDWMCompositionEnabled(); } + @Override @SuppressWarnings("deprecation") public void grab(Window w) { if (w.getPeer() != null) { @@ -993,6 +1063,7 @@ public class WToolkit extends SunToolkit implements Runnable { } } + @Override @SuppressWarnings("deprecation") public void ungrab(Window w) { if (w.getPeer() != null) { @@ -1000,17 +1071,21 @@ public class WToolkit extends SunToolkit implements Runnable { } } + @Override public native boolean syncNativeQueue(final long timeout); + @Override public boolean isDesktopSupported() { return true; } + @Override public DesktopPeer createDesktopPeer(Desktop target) { return new WDesktopPeer(); } - public static native void setExtraMouseButtonsEnabledNative(boolean enable); + private static native void setExtraMouseButtonsEnabledNative(boolean enable); + @Override public boolean areExtraMouseButtonsEnabled() throws HeadlessException { return areExtraMouseButtonsEnabled; } diff --git a/jdk/src/windows/classes/sun/awt/windows/WTrayIconPeer.java b/jdk/src/windows/classes/sun/awt/windows/WTrayIconPeer.java index 93dc4b19db3..0cc7873fd06 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WTrayIconPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WTrayIconPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -36,9 +36,8 @@ import java.awt.peer.TrayIconPeer; import java.awt.image.*; import sun.awt.SunToolkit; import sun.awt.image.IntegerComponentRaster; -import sun.awt.windows.WPopupMenuPeer; -public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { +final class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { final static int TRAY_ICON_WIDTH = 16; final static int TRAY_ICON_HEIGHT = 16; final static int TRAY_ICON_MASK_SIZE = (TRAY_ICON_WIDTH * TRAY_ICON_HEIGHT) / 8; @@ -48,6 +47,7 @@ public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { Frame popupParent = new Frame("PopupMessageWindow"); PopupMenu popup; + @Override protected void disposeImpl() { if (popupParent != null) { popupParent.dispose(); @@ -64,6 +64,7 @@ public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { updateImage(); } + @Override public void updateImage() { Image image = ((TrayIcon)target).getImage(); if (image != null) { @@ -71,13 +72,16 @@ public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { } } + @Override public native void setToolTip(String tooltip); + @Override public synchronized void showPopupMenu(final int x, final int y) { if (isDisposed()) return; SunToolkit.executeOnEventHandlerThread(target, new Runnable() { + @Override public void run() { PopupMenu newPopup = ((TrayIcon)target).getPopupMenu(); if (popup != newPopup) { @@ -96,6 +100,7 @@ public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { }); } + @Override public void displayMessage(String caption, String text, String messageType) { // The situation when both caption and text are null is processed in the shared code. if (caption == null) { @@ -185,6 +190,7 @@ public class WTrayIconPeer extends WObjectPeer implements TrayIconPeer { native void _displayMessage(String caption, String text, String messageType); class IconObserver implements ImageObserver { + @Override public boolean imageUpdate(Image image, int flags, int x, int y, int width, int height) { if (image != ((TrayIcon)target).getImage() || // if the image has been changed isDisposed()) diff --git a/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java b/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java index 16ed261aa82..33f27ac5694 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java +++ b/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -90,6 +90,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } // WComponentPeer overrides + @Override @SuppressWarnings("unchecked") protected void disposeImpl() { AppContext appContext = SunToolkit.targetToAppContext(target); @@ -118,24 +119,30 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, // WindowPeer implementation + @Override public void toFront() { updateFocusableWindowState(); _toFront(); } - native void _toFront(); + private native void _toFront(); + + @Override public native void toBack(); - public native void setAlwaysOnTopNative(boolean value); + private native void setAlwaysOnTopNative(boolean value); + public void setAlwaysOnTop(boolean value) { if ((value && ((Window)target).isVisible()) || !value) { setAlwaysOnTopNative(value); } } + @Override public void updateAlwaysOnTopState() { setAlwaysOnTop(((Window)target).isAlwaysOnTop()); } + @Override public void updateFocusableWindowState() { setFocusableWindow(((Window)target).isFocusableWindow()); } @@ -150,12 +157,13 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } _setTitle(title); } - native void _setTitle(String title); + private native void _setTitle(String title); public void setResizable(boolean resizable) { _setResizable(resizable); } - public native void _setResizable(boolean resizable); + + private native void _setResizable(boolean resizable); // Toolkit & peer internals @@ -163,6 +171,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, super(target); } + @Override void initialize() { super.initialize(); @@ -210,6 +219,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, windowType = ((Window)target).getType(); } + @Override void create(WComponentPeer parent) { preCreate(parent); createAwtWindow(parent); @@ -226,6 +236,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, super.show(); } + @Override public void show() { updateFocusableWindowState(); @@ -289,7 +300,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } return requestWindowFocus(cause == CausedFocusEvent.Cause.MOUSE_EVENT); } - public native boolean requestWindowFocus(boolean isMouseEventCause); + private native boolean requestWindowFocus(boolean isMouseEventCause); public boolean focusAllowedFor() { Window window = (Window)this.target; @@ -305,7 +316,8 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, return true; } - public void hide() { + @Override + void hide() { WindowListener listener = windowListener; if (listener != null) { // We're not getting WINDOW_CLOSING from the native code when hiding @@ -316,6 +328,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } // WARNING: it's called on the Toolkit thread! + @Override void preprocessPostEvent(AWTEvent event) { if (event instanceof WindowEvent) { WindowListener listener = windowListener; @@ -340,6 +353,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, windowListener = AWTEventMulticaster.remove(windowListener, l); } + @Override public void updateMinimumSize() { Dimension minimumSize = null; if (((Component)target).isMinimumSizeSet()) { @@ -356,6 +370,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } } + @Override public void updateIconImages() { java.util.List imageList = ((Window)target).getIconImages(); if (imageList == null || imageList.size() == 0) { @@ -393,6 +408,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, return modalBlocker != null; } + @Override @SuppressWarnings("deprecation") public void setModalBlocked(Dialog dialog, boolean blocked) { synchronized (((Component)getTarget()).getTreeLock()) // State lock should always be after awtLock @@ -459,6 +475,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, void draggedToNewScreen() { SunToolkit.executeOnEventHandlerThread((Component)target,new Runnable() { + @Override public void run() { displayChanged(); } @@ -519,6 +536,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, * reflects the current display depth information, which has * just changed). */ + @Override public void displayChanged() { updateGC(); } @@ -527,6 +545,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, * Part of the DisplayChangedListener interface: components * do not need to react to this event */ + @Override public void paletteChanged() { } @@ -565,6 +584,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, private volatile int sysW = 0; private volatile int sysH = 0; + @Override public native void repositionSecurityWarning(); @Override @@ -620,6 +640,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, private native void setOpacity(int iOpacity); private float opacity = 1.0f; + @Override public void setOpacity(float opacity) { if (!((SunToolkit)((Window)target).getToolkit()). isWindowOpacitySupported()) @@ -663,6 +684,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, private native void setOpaqueImpl(boolean isOpaque); + @Override public void setOpaque(boolean isOpaque) { synchronized (getStateLock()) { if (this.isOpaque == isOpaque) { @@ -720,8 +742,9 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, } } - public native void updateWindowImpl(int[] data, int width, int height); + native void updateWindowImpl(int[] data, int width, int height); + @Override public void updateWindow() { updateWindow(false); } @@ -770,6 +793,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, * unregisters ActiveWindowListener listener. */ private static class GuiDisposedListener implements PropertyChangeListener { + @Override public void propertyChange(PropertyChangeEvent e) { boolean isDisposed = (Boolean)e.getNewValue(); if (isDisposed != true) { @@ -795,6 +819,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer, */ @SuppressWarnings( value = {"deprecation", "unchecked"}) private static class ActiveWindowListener implements PropertyChangeListener { + @Override public void propertyChange(PropertyChangeEvent e) { Window w = (Window)e.getNewValue(); if (w == null) { diff --git a/jdk/src/windows/classes/sun/awt/windows/WingDings.java b/jdk/src/windows/classes/sun/awt/windows/WingDings.java index f15d9df96bb..b7cac01b0de 100644 --- a/jdk/src/windows/classes/sun/awt/windows/WingDings.java +++ b/jdk/src/windows/classes/sun/awt/windows/WingDings.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -29,11 +29,12 @@ import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.*; -public class WingDings extends Charset { +final class WingDings extends Charset { public WingDings () { super("WingDings", null); } + @Override public CharsetEncoder newEncoder() { return new Encoder(this); } @@ -41,10 +42,12 @@ public class WingDings extends Charset { /* Seems like supporting a decoder is required, but we aren't going * to be publically exposing this class, so no need to waste work */ + @Override public CharsetDecoder newDecoder() { throw new Error("Decoder isn't implemented for WingDings Charset"); } + @Override public boolean contains(Charset cs) { return cs instanceof WingDings; } @@ -54,6 +57,7 @@ public class WingDings extends Charset { super(cs, 1.0f, 1.0f); } + @Override public boolean canEncode(char c) { if(c >= 0x2701 && c <= 0x27be){ if (table[c - 0x2700] != 0x00) @@ -64,6 +68,7 @@ public class WingDings extends Charset { return false; } + @Override protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) { char[] sa = src.array(); int sp = src.arrayOffset() + src.position(); @@ -156,6 +161,7 @@ public class WingDings extends Charset { }; /* The default implementation creates a decoder and we don't have one */ + @Override public boolean isLegalReplacement(byte[] repl) { return true; } diff --git a/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp b/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp index 614f10902dd..8244be5cdda 100644 --- a/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp +++ b/jdk/src/windows/native/sun/windows/awt_PrintDialog.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -165,17 +165,6 @@ Java_sun_awt_windows_WPrintDialog_initIDs(JNIEnv *env, jclass cls) CATCH_BAD_ALLOC; } -JNIEXPORT void JNICALL -Java_sun_awt_windows_WPrintDialog_setPeer(JNIEnv *env, jobject target, - jobject peer) -{ - TRY; - - env->SetObjectField(target, AwtComponent::peerID, peer); - - CATCH_BAD_ALLOC; -} - JNIEXPORT void JNICALL Java_sun_awt_windows_WPrintDialogPeer_initIDs(JNIEnv *env, jclass cls) {