小编sth*_*r69的帖子

Java KeyListener:如何在按下两个键时执行操作?

请查看以下代码

import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

public class KeyCheck extends JFrame
{
    private JButton check;
    private JPanel panel;
    private FlowLayout flow;

    public KeyCheck()
    {
        check = new JButton("Check");
        check.addKeyListener(new KeyWork());

        panel = new JPanel();
        panel.setLayout(new FlowLayout());
        panel.add(check);

        getContentPane().add(panel);

    }

    private class KeyWork extends KeyAdapter
    {
        public void keyPressed(KeyEvent k)
        {
            if(k.getKeyCode()==KeyEvent.VK_CONTROL && KeyEvent.VK_A)
            {
                JOptionPane.showMessageDialog(null, "OK");
            }
        }
    }
    public static void main(String[]args)
    {
        KeyCheck k = new KeyCheck();
        k.setVisible(true);
        k.setSize(200,200);
        k.validate();
        k.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我在按钮上添加了一个keylister,当按住CTRL + A(控制键和"A"键)时,我需要它显示消息"OK".但上面的代码是错误的.所以,当两个键被按在一起时,请帮助我获取消息.

java swing key-events keylistener

3
推荐指数
1
解决办法
4332
查看次数

Java在创建对象时的表现

我正在努力提高我在Java性能优化方面的知识,并尝试了多种方法来创建对象.
我遇到过这种行为,我对类中最终成员的使用并不熟悉:如果成员不是最终成员,则创建对象的成本要低得多(就时间而言).它是正确的还是我的代码中有一些错误?

没有最终成员的对象:

public class ComplexNumber {
    private double re, im;

    public ComplexNumber(double _re, double _im) {
        re = _re;
        im = _im;
    }

    public void setRe (double _re) {
        re = _re;
    }

    public void setIm (double _im) {
        im = _im;
    }

    @Override
    public String toString() {
        return re + " + i" + im;
    }

    @Override
    public int hashCode() {
        return 47 + 31*(int)re + 31*(int)im;
    }
}  
Run Code Online (Sandbox Code Playgroud)

最终成员的对象:

public class FinalComplexNumber {
    private final double re, …
Run Code Online (Sandbox Code Playgroud)

java performance final

3
推荐指数
1
解决办法
111
查看次数

java.security.AccessControlException:拒绝访问("java.net.SocketPermission""localhost:1527""listen,resolve")

我再次面对这个错误.

Fri Sep 16 17:17:29 CEST 2016 : access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
    at java.security.AccessController.checkPermission(AccessController.java:884)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at java.lang.SecurityManager.checkListen(SecurityManager.java:1131)
    at java.net.ServerSocket.bind(ServerSocket.java:374)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231)
    at org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocket(Unknown Source)
    at org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(Unknown Source)
    at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unknown Source)
    at org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(Unknown Source)
    at org.apache.derby.drda.NetworkServerControl.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sun.enterprise.admin.cli.optional.DerbyControl.invokeNetworkServerControl(DerbyControl.java:158)
    at com.sun.enterprise.admin.cli.optional.DerbyControl.main(DerbyControl.java:245)
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
    at java.security.AccessController.checkPermission(AccessController.java:884)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at …
Run Code Online (Sandbox Code Playgroud)

java database security glassfish

3
推荐指数
1
解决办法
8359
查看次数

android phonegap jquerymobile app中未显示的背景图片

我正试图在基于jQuerymobile的Android phonegap应用上显示背景图片.这是HTML

<!DOCTYPE html>
<html>
  <head>
    <title>Title</title>

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="css/jquerymobile.css" />
    <link rel="stylesheet" href="css/index.css" />

    <script src="js/jquery.js"></script>
    <script src="js/jquerymobile.js"></script>

  </head>
  <body>
    <div data-role="page" id="Main" class="main-page">
      <ul data-role="listview" data-filter-reveal="true" data-filter="true"
                data-filter-placeholder="Insert the city here..." data-inset="true">
        <li><a href="#LimonePiemonte">Limone Piemonte</a></li>
        <li><a href="#Artesina">Artesina</a></li>
        <li><a href="#Tonale">Tonale</a></li>
      </ul>
    </div>
    <!-- /page -->
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是CSS(index.css)

.main-page {
    background:  transparent url(img/alpettalownologo.jpg) no-repeat center center;
    background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)

但我看不到背景中的图像.我错过了什么?

css html5 background-image jquery-mobile cordova

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

Java - 接口的非静态成员变量

我知道不推荐,但为什么我可以声明接口的成员变量不是静态的?

接口的静态成员和非静态成员之间有什么区别?我看到如果我将接口成员变量定义为static,我可以以非静态的方式在实现类中使用它:

接口:

public interface Pinuz {
    final static int a;

    public void method1();
}
Run Code Online (Sandbox Code Playgroud)

实施班级:

public class Test implements Pinuz {
    public static void main(String[] args) {

        Test t = new Test();
        int b = t.a;
    }

    @Override
    public void method1() {
        // TODO Auto-generated method stub

    }
}
Run Code Online (Sandbox Code Playgroud)

我只看到一个警告,要求我以静态方式使用成员a.

java static interface member

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