JFilechooser选择我要在数据库中上传的文件,选择的文件名转到数据库和文件夹中的文件,我现在可以通过gui在我的jtable中显示数据库表我需要做的是当我双击任何表格的行时,我希望打开文档。我该怎么做?
//code to attach the document to a folder and its name to the database
private void add_newActionPerformed(java.awt.event.ActionEvent evt){
try {
JFileChooser selectedFile = new JFileChooser();
int a = selectedFile.showOpenDialog(null);
File file = selectedFile.getSelectedFile();
Path dscPath = Paths.get(Paths.get("").toAbsolutePath()+ "\\store\\"+file.getName());
Path path = Files.copy(Paths.get(file.getAbsolutePath()), dscPath ,StandardCopyOption.REPLACE_EXISTING);
SqlFunctions sql = new SqlFunctions();
sql.StoreFileName(file.getName());
System.out.println("File uploaded is "+file.getName());
} catch (IOException ex) {
Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
}
}
//从数据库填充jtable数据的代码 private void Update_table(){ 尝试{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/uploader","root","");
String sql="select * from files";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery(sql);
table_documentinfo.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
//在数据库中存储文件名的方法
public void StoreFileName(String fileName){
String sql = "INSERT INTO files VALUES ("+null+",'"+fileName+"')";
// String sql = "insert into files(fileName) "+ "values(?)";
System.out.println(sql);
try {
stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.out.println("Exception: "+ex.getMessage() );
}catch (Exception ex){
System.out.println("Error");
}
}
} 我还没有实现mouseclick事件的代码来直接打开文档
答案 0 :(得分:0)
应用一些逻辑进行双击。
使用类似标志的东西,在第二次点击后第一次点击n 2后将为1。仅当flag = 2时才打开文档。
你可以使用鼠标监听器。