小编Vla*_*ala的帖子

Java Swing JWindow应用程序崩溃

如果我使用JDK1.8_40或更新版本(Oracle或OpenJDK执行相同操作),以下代码和对话框调整大小将使应用程序崩溃(尝试过Windows 7,x64,64位JDK)

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main {

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            final JDialog dialog = new JDialog();
            dialog.add(new JPanel());
            dialog.setVisible(true);
            dialog.setBounds(100, 100, 100, 100);

            final JWindow dependentWindow = getjWindow(dialog);
            dependentWindow.setVisible(true);
            dependentWindow.setBounds(100, 100, 100, 100);
            Timer t = new Timer(300, new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    dependentWindow.setVisible(!dependentWindow.isVisible());
                }
            });
            t.start();
        }
    });
} …
Run Code Online (Sandbox Code Playgroud)

java swing jvm-crash jwindow java-8

15
推荐指数
1
解决办法
1455
查看次数

我可以为JWS应用程序更改disabledAlgorithms吗?

可能重复:JNLP中的java.security.properties

我们有一个桌面应用程序,我们开始使用Java WebStart.从JDK 1.8.71开始,MD5现已禁用以进行X509证书验证.遗憾的是,我们无法更改我们正在使用的证书.

解决方法是更改​​java.security文件(jre/lib/security/java.security),使得"jdk.certpath.disabledAlgorithms"不再包含MD5,但由于我们无权访问,因此这绝对是不可能的.客户电脑.我们尝试在JNLP文件中设置属性(不起作用)并调用:

java.security.Security.setProperty("jdk.certpath.disabledAlgorithms", "");
java.security.Security.setProperty("jdk.tls.disabledAlgorithms", "");
Run Code Online (Sandbox Code Playgroud)

上面的代码适用于本地启动的JAR,但不适用于JNLP.知道这应该有用吗?我找不到任何关于JNLP可以编辑哪些安全属性的文档.

java jnlp java-web-start java-security

6
推荐指数
0
解决办法
640
查看次数

如果外部类被泛化,则不能从静态上下文引用"Main.this"

为什么下面的代码没问题,但是一旦将T作为泛型添加到Main,它会抛出以下错误?

'Main.this'不能从静态上下文中引用

//public class Main<T> { - uncomment this for the error to appear

public class Main {
    public static void main(String[] args) {
        new Main();
    }

    class TestNonStatic {}

    private static class TestStatic {
        public TestStatic(TestNonStatic nonStatic) { //this is the line that fails

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我经历了泛型限制,但我不明白为什么这会导致错误.我也经历了很多类似的问题,但我不明白为什么添加通用会改变这种情况.

java generics

6
推荐指数
1
解决办法
3395
查看次数

我可以在java中监听所有拖放事件吗?

我想听听Swing上的所有拖放事件.

我设法监听拖动事件的一种方法是添加:

final long mask = AWTEvent.MOUSE_EVENT_MASK + AWTEvent.MOUSE_MOTION_EVENT_MASK;

AWTEventListener eventListener = new AWTEventListener() {
    public void eventDispatched(final AWTEvent event) {}
};
Toolkit.getDefaultToolkit().addAWTEventListener(eventListener, mask);
Run Code Online (Sandbox Code Playgroud)

但这并没有得到丢弃事件,甚至在放弃时也不会从鼠标中释放事件.有没有办法拦截应用程序中的所有拖放事件,而不是分别在每个组件上?

java swing drag-and-drop awt

5
推荐指数
1
解决办法
1167
查看次数