<AWT Dev> Review-request for 8143227: Platform-Specific Desktop Features
Alexander Zvegintsev
alexander.zvegintsev at oracle.com
Tue Nov 24 15:02:31 UTC 2015
Please review the updated fix:
http://cr.openjdk.java.net/~azvegint/jdk/9/8143227/03/
removed fullscreen related code (moved to JDK-8143914 [0])
fix serialization in AppEvent
[0] https://bugs.openjdk.java.net/browse/JDK-8143914
Thanks,
Alexander.
On 11/21/2015 03:33 AM, Alexander Zvegintsev wrote:
> Hi Phil,
>
>> Can someone explain why this is needed given the existing support of
>> GraphicsDevice.setFullScreenWindow(Window) ?
>
> GraphicsDevice.setFullScreenWindow is used for an exclusive full
> screen mode.
> Mac OS has another option to create a virtual desktop with provided
> window in it.
> You can switch between them by three-finger horizontal swipe.
>
>> Why does it have to be a RootPaneContainer ? Why is this tied to Swing ?
>> This appears to narrow it to JDialog and JWindow.
> It reuses swing code to set native windows style bits.
>
>
> Please see updated webrev:
> http://cr.openjdk.java.net/~azvegint/jdk/9/8143227/02/
> updated permission
> added missing @throws @since and @implNote
> browseFileDirectory is now return void
> RootPaneContainer -> JDialog and JWindow
>
> --
> Thanks,
> Alexander.
>
> On 11/20/2015 09:03 PM, Phil Race wrote:
>> On 11/20/2015 09:12 AM, Sergey Bylokhov wrote:
>>>
>>> I am worried about setWindowCanFullScreen and requestToggleFullScreen.
>>> On the latest osx this functionality was merged with maximize
>>> button. So probably it will be better to change behavior of
>>> window.setExtendedState() + MAXIMIZED_BOTH?
>>
>> Can someone explain why this is needed given the existing support of
>> GraphicsDevice.setFullScreenWindow(Window) ?
>>
>> And what happens if you use *both* ? They still need to play well
>> together
>> if there is some reason the new one is needed.
>>
>> Other comments :
>> > * Note, Aqua Look and Feel should be active to support this on
>> Mac OS.
>>
>>
>> Needs @implNote
>>
>> There seems to be lots of missing SecurityException tags given all
>> the checkAWTPermission() calls.
>> is checkAWTPermission() really the right call for all of these actions ?
>> Does it "cover" being able to delete files and quit the app ? I am
>> not sure it is
>> correct in all cases.
>>
>> And also there are missing @since tags.
>>
>>
>> Opens a folder containing the {@code file} in a default system file
>> manager.
>> 933 * @param file the file
>> 934 * @return returns true if successfully opened
>> 935 * @throws NullPointerException if {@code file} is {@code null}
>> 936 * @throws IllegalArgumentException if the specified file
>> doesn't
>> 937 * exist
>> 938 */
>> 939 public boolean browseFileDirectory(File file) {
>>
>> So what happens if there is no "support" for this ? Exception or
>> "false" ?
>> Are you comfortable that all these APIs that return "true" if
>> successful are
>> implementable on all platforms. i.e I mean that does the platform return
>> a value you can pass on as success/failure.
>>
>> ---
>>
>> 861 * Attaches a {@link FullScreenListener} to the specified
>> top-level
>> 862 * {@link Window}.
>> 863 *
>> 864 * @param window to attach the {@link FullScreenListener} to
>> 865 * @param listener to be notified when a full screen event
>> occurs
>> 866 * @throws IllegalArgumentException if window is not a
>> 867 * {@link javax.swing.RootPaneContainer}
>> 868 */
>> 869 public void addWindowFullScreenListener(final Window window,
>> 870 final
>> FullScreenListener listener) {
>>
>> -------
>>
>> Why does it have to be a RootPaneContainer ? Why is this tied to Swing ?
>> This appears to narrow it to JDialog and JWindow.
>>
>> -phil.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20151124/252a602d/attachment-0001.html>
More information about the awt-dev
mailing list