请查看以下代码
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性能优化方面的知识,并尝试了多种方法来创建对象.
我遇到过这种行为,我对类中最终成员的使用并不熟悉:如果成员不是最终成员,则创建对象的成本要低得多(就时间而言).它是正确的还是我的代码中有一些错误?
没有最终成员的对象:
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) 我再次面对这个错误.
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) 我正试图在基于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)
但我看不到背景中的图像.我错过了什么?
我知道不推荐,但为什么我可以声明接口的成员变量不是静态的?
接口的静态成员和非静态成员之间有什么区别?我看到如果我将接口成员变量定义为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 ×4
cordova ×1
css ×1
database ×1
final ×1
glassfish ×1
html5 ×1
interface ×1
key-events ×1
keylistener ×1
member ×1
performance ×1
security ×1
static ×1
swing ×1