好吧,在此之前被标记为可能重复,我已经尝试了以下代码:
Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Run Code Online (Sandbox Code Playgroud)
它总是对我不利[见下文].有人可以确认这是否应该有效,我是在滥用它,或者它是否已被破坏?如果它实际上已经坏了,有没有人有更好的使用方法?
编辑:
好吧,刚刚发现了更多的东西.它似乎只是返回我的程序启动时的状态.如果我用它启动程序,它会打开,反之亦然.这是我的代码:
while (true) {
boolean isOn = Toolkit.getDefaultToolkit().getLockingKeyState(
KeyEvent.VK_CAPS_LOCK);
System.out.println("Caps lock is now: " + (isOn ? "ON" : "off"));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
Run Code Online (Sandbox Code Playgroud)
而这总是打印出它开始的任何东西
(例如,如果我开始大写锁定,即使我立即将其关闭,它也会打印出来:
大写锁定现在是:开
大写锁定现在是:开
大写锁定现在是:开
大写锁定现在是:开
等等,如果我从它开始,它将打印出来,无论如何)
基本上我只是想找到一种方法来找到最接近的匹配(不一定是精确的) String
例如,发现"delicous"在{"pie", "delicious", "test"}
这很明显,但数组中的值可能并不总是那么明显.
有人可以帮助我实现这一目标.
是否有任何可能的方法将swing添加到关闭钩子中(即,在VM关闭时显示弹出窗口)?
我意识到如果我尝试创建一个新的JFrame,它会给我一个错误,因为它试图注册一个关闭钩子,因为VM已经关闭而失败.我只是想知道是否有任何解决方法
我只是想将JLabel添加到现有的JPanel中.这看起来很简单,我四处搜索.我认为这是对的,但标签没有出现在我的面板上.有谁看到我错过了什么?谢谢!
ResultsPanel myPanel = new ResultsPanel(pnlResults); //pnlResults is an existing JPanel
myPanel.addLabel(pnlResults);
public class ResultsPanel extends JPanel {
JPanel myPanel;
public ResultsPanel(JPanel thisPanel) {
myPanel = thisPanel;
}
public void addLabel(JPanel myResults) {
JLabel myLabel = new JLabel("test", JLabel.LEFT);
myPanel.setLayout(new FlowLayout());
add(myLabel);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:回应下面的即时回复,我同意这似乎是完全矫枉过正.我沿着这条路走下去,因为下面的代码也没有导致JLabel被添加到我的JPanel中:
JLabel myLabel = new JLabel("test");
pnlResults.add(myLabel);
Run Code Online (Sandbox Code Playgroud)
我宁愿使用这个代码,所以如果你认为它更有可能工作(当然有一些修改),请随意评论.再次感谢!
我开发了一个使用谷歌网络工具包的网站,该网站在firefox上正常工作.但是,在谷歌浏览器中,该插件无法使用谷歌chrome.My当前版本的谷歌浏览器是22.它最初给出了这个错误

我已通过以下链接查找解决方案,将Google Chrome插件添加到Chrome扩展程序中 http://code.google.com/p/google-web-toolkit/issues/detail?id=7569
但是,在将Google Chrome插件添加到扩展程序后,它会给我以下错误: