我正在尝试学习Java Swing。我正在尝试将输入数据从UI复制到剪贴板并将其写入文本文件。
我有以下代码将其复制到剪贴板并创建文本文件。但是我很难将数据从剪贴板复制到文本文件。
问题:如何将参数传递给“Print Writer”?我试图使用“Queue”,因为我之前已复制过它。我错了吗?
private void hCopysaveButActionPerformed(java.awt.event.ActionEvent evt) {
//JSpinner dateSpinner=hDateSpinner.get
Date date=new Date();
SimpleDateFormat form = new SimpleDateFormat ("E MM/dd/yyyy 'at' hh:mm:ss a zzz");
String rock= krock.getText();
String get= "Date&Time: "+form.format(date)+"\n"+"\n"+krocklabl.getText()+krock;
StringSelection Queue= new StringSelection(get);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(Queue, Queue);
try{
Date datetime=new Date();
SimpleDateFormat form = new SimpleDateFormat ("E_MM-dd-yyyy_hh-mm-ss_a_zzz");
FileWriter writer = new FileWriter("C:\\Driver\\"+form.format(date)+ ".txt");
try (PrintWriter pw = new PrintWriter(writer)) {
pw.println(+Queue);
pw.close();
}
} catch (IOException ex) {
Logger.getLogger(Handoff.class.getName()).log(Level.SEVERE, null, ex);
}
}
修改后的代码:
try{
String data = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
Date datetime=new Date();
SimpleDateFormat form = new SimpleDateFormat ("E_MM-dd-yyyy_hh-mm-ss_a_zzz");
FileWriter writer = new FileWriter("C:\\Driver\\"+form.format(date)+ ".txt");
try (PrintWriter pw = new PrintWriter(writer)) {
pw.println(data);
pw.close();
}
} catch (IOException ex) {
Logger.getLogger(Handoff.class.getName()).log(Level.SEVERE, null, ex);
}
}
File gets created have input data like
日期和时间:2016年11月11日星期三08:16:16 ISTOvert#:用户输入无效直到注册
但它应该如下所示。
日期和时间:2016年11月11日星期三08:16:16 IST
Overt#:用户输入在注册
之前无效