Java Swing - 在Java Web Start中,复制/粘贴不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Swing - 在Java Web Start中,复制/粘贴不起作用相关的知识,希望对你有一定的参考价值。
我在Java Swing中创建了一个文本域
txtSessionID = new JTextField();
txtSessionID.setText("enter here");
txtSessionID.setBounds(6, 22, 438, 28);
frame.getContentPane().add(txtSessionID);
当我尝试将某些内容复制到文本字段时,如果我在桌面上运行jar,那么它可以工作,但如果我使用Java Web Start启动它则不行。
问题:
为什么会这样?如何让CCP在JWS表单中工作?
答案
行为改变的原因可以在Copy in sand-boxed app. in 1.6.0_24+找到。安全错误修复适用于applet和JWS应用程序。
解决方案(在链接线程中再次概述)是使用JNLP API的ClipboardService
。这是一个demo. of the ClipboardService。
另一答案
这是我从textfield到另一个的答案副本
public class GuiFrame1 {
private JFrame frame;
private JTextField textField_1;
private JTextField textField_2;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GuiFrame1 window = new GuiFrame1();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public GuiFrame1() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel NewLabel_1 = new JLabel("u03A0u03B1u03C1u03B1u03BAu03B1u03BBu03CE u03B5u03B9u03C3u03ACu03B3u03B5u03C4u03B5 u03C4u03BF u03CCu03BDu03BFu03BCu03AC u03C3u03B1u03C2");
NewLabel_1.setBounds(10, 11, 191, 14);
frame.getContentPane().add(NewLabel_1);
JLabel NewLabel_2 = new JLabel("u03A4u03BF u03CCu03BDu03BFu03BCu03AC u03BCu03BFu03C5 u03B5u03AFu03BDu03B1u03B9");
NewLabel_2.setBounds(10, 63, 191, 14);
frame.getContentPane().add(NewLabel_2);
textField_1 = new JTextField();
textField_1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent arg0) {
// System.out.println(arg0.getKeyCode());
if(arg0.getKeyCode()==10) {
String name = textField_1.getText();
textField_2.setText(name);
}
}
});
textField_1.setBounds(228, 8, 119, 20);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
textField_2 = new JTextField();
textField_2.setBounds(228, 60, 119, 20);
frame.getContentPane().add(textField_2);
textField_2.setColumns(10);
}
}
以上是关于Java Swing - 在Java Web Start中,复制/粘贴不起作用的主要内容,如果未能解决你的问题,请参考以下文章