andrewauclair / ModernDocking

Modern docking framework for Java Swing
https://andrewauclair.github.io/modern-docking/starter-topic.html
MIT License
93 stars 22 forks source link

SnippingTool in Window mode thinks app frame fills entire monitor #152

Closed i-make-robots closed 11 months ago

i-make-robots commented 11 months ago

** Expected: Using Windows SnippingTool in window mode, I can hover the cursor over a dialog or an app frame and it will highlight the region to be captured.

* Actual: In ModernDocking if I hover over the root frame while it has a child dialog* then it highlights the entire monitor.

** Workaround: Don't. Use "Rectangle" mode.

andrewauclair commented 11 months ago

Could you maybe share a gif of this happening? What Java version? If this is actually a bug then it's an OS or Java issue.

i-make-robots commented 11 months ago

I tried. I can't run a screen recorder and the snipping tool at the same time. :T

andrewauclair commented 11 months ago

Damn. Maybe something like ScreenToGif would work? That's what I usually use.

i-make-robots commented 11 months ago

That’s what I used while trying to screen capture. Sent from my iPhoneOn Dec 13, 2023, at 12:24 PM, Andrew Auclair @.***> wrote: Damn. Maybe something like ScreenToGif would work? That's what I usually use.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

andrewauclair commented 11 months ago

Are you on Windows 11? I was able to see the same issue with a simple program on Windows 11 using JDK 17. I was previously using Windows 10 and Java 18 or 21 and it was working as expected. I will retest again with this sample program.

import javax.swing.*;

public class Test extends JFrame {
    public Test() {
        setSize(800, 600);

        JButton button = new JButton();

        button.addActionListener(e -> {
            JFileChooser chooser = new JFileChooser();
            chooser.showOpenDialog(Test.this);
        });

        add(button);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().setVisible(true));
    }
}
i-make-robots commented 11 months ago

I'm on W11 running J16. The effect is also there in J21.

andrewauclair commented 11 months ago

Closing this as it is just a Windows feature. I can the same behavior across such tools as: Visual Studio 2022, IntelliJ IDEA and my little test app on Windows 10 and Windows 11.