📄 fileexport.java
字号:
package net.sujee.javatimer;import javax.swing.*;import javax.swing.border.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import net.sujee.util.GenUtil;public class FileExport extends JDialog implements ActionListener{ JButton buttonSave; JButton buttonClose; JTextArea textArea; JFileChooser fileChooser; Vector taskList; public FileExport (Frame parent, int width, int height) { super (parent, "Export Task Data"); setSize(width, height); setModal(true); setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); setLocationRelativeTo(parent); textArea = new JTextArea (); textArea.setEditable(false); textArea.setBorder( new TitledBorder(new EtchedBorder( EtchedBorder.RAISED,Color.white,new Color(137, 137, 137)),"Task Export")); textArea.setAutoscrolls(true); JScrollPane scrollpane = new JScrollPane (textArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); buttonSave = new JButton ("Save to File..."); buttonClose = new JButton ("Close"); buttonSave.addActionListener(this); buttonClose.addActionListener(this); getContentPane().setLayout(new BorderLayout ()); getContentPane().add (scrollpane, BorderLayout.CENTER); JPanel p1 = new JPanel (); p1.add (buttonSave); p1.add (buttonClose); getContentPane().add (p1, BorderLayout.SOUTH); fileChooser = new JFileChooser(); fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY ); fileChooser.setMultiSelectionEnabled( false ); fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); ExampleFileFilter filter = new ExampleFileFilter( "txt", "Text files" ); fileChooser.addChoosableFileFilter( filter ); } public void show (Vector taskList) { this.taskList = taskList; populateTextArea (); show (); } private void populateTextArea () { int len = taskList.size(); StringBuffer buf = new StringBuffer (); for (int i=0; i < len ; i++) { Task t = (Task) taskList.get(i); buf.append(t.dump() + GenUtil.NEWLINE); } textArea.setText(buf.toString()); } public void actionPerformed(ActionEvent e) { Object src = e.getSource(); if ( src == buttonClose) { hide (); } else if ( src == buttonSave) { int ret = fileChooser.showOpenDialog( this ); if ( ret == JFileChooser.APPROVE_OPTION ) { try { // if name doesn't end with .txt extension // set the extension File choosenFile = fileChooser.getSelectedFile(); if ( !choosenFile.getName().endsWith( ".txt" ) ) choosenFile = new File( fileChooser.getSelectedFile().getAbsolutePath() + ".txt" ); FileWriter out = new FileWriter ( choosenFile); out.write("# Project Timer data export - " + new Date ().toString ()); out.write(textArea.getText()); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -