I am trying to learn Java Swing. I am trying to copy input data from UI to a clipboard and write it to a text file.
I have the below code to copy it to a clipboard and to create a text file. But I am facing difficulty in copying the data from clipboard to text file.
Question: How do I pass argument to "Print Writer"? I was trying to use "Queue" as I have copied to it earlier. Am I wrong?
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);
}
}
Modified Code:
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
Date&Time: Wed 11/30/2016 at 08:16:16 PM ISTOvert # :User input not valid until its registered
But it should look like below.
Date&Time: Wed 11/30/2016 at 08:16:16 PM IST
Overt # : User input not valid until its registered