List of usage examples for javax.swing.table TableModel getValueAt
public Object getValueAt(int rowIndex, int columnIndex);
columnIndex
and rowIndex
. From source file:us.daveread.basicquery.BasicQuery.java
/** * Gets each cell of the selected row - if the object stored in the cell * is of type java.sql.Blob, the object is written to disk by calling * writeBlob(String, java.sql.Blob) on the DB connection. *//* w w w.ja v a 2 s .c o m*/ private void saveBLOBs() { TableModel model; int selectedRow; String filesWritten; if (table.getSelectedRowCount() != 1) { userMessage(Resources.getString("errChooseOneRowText"), Resources.getString("errChooseOneRowTitle"), JOptionPane.ERROR_MESSAGE); } else { model = table.getModel(); selectedRow = table.getSelectedRow(); filesWritten = ""; for (int col = 1; col < model.getColumnCount(); col++) { if (model.getValueAt(selectedRow, col) instanceof java.sql.Blob) { LOGGER.debug("Blob[" + (java.sql.Blob) model.getValueAt(selectedRow, col) + "]"); filesWritten += writeBlob(model.getColumnName(col), (java.sql.Blob) model.getValueAt(selectedRow, col)) + "\n"; } } userMessage(Resources.getString("msgBLOBWrittenText", filesWritten), Resources.getString("msgBLOBWrittenTitle"), JOptionPane.INFORMATION_MESSAGE); } }
From source file:us.daveread.basicquery.BasicQuery.java
/** * Gets the column name for the column that is being selected in the table * //w w w . j a va2 s.c o m * @return columns A string array with the Column Names and Values */ private String[][] getColumnNamesForTable() { String[][] columns; TableModel model; model = table.getModel(); if (modeOfCurrentTable == Query.MODE_DESCRIBE) { columns = new String[model.getRowCount()][3]; for (int i = 0; i < model.getRowCount(); ++i) { columns[i][0] = model.getValueAt(i, 0).toString(); columns[i][1] = model.getValueAt(i, 1).toString(); // Type if (table.isRowSelected(i)) { columns[i - 1][2] = "Selected"; } else { columns[i - 1][2] = null; } } } else { columns = new String[model.getColumnCount()][3]; for (int i = 0; i < model.getColumnCount(); ++i) { columns[i][0] = model.getColumnName(i); // Remove type if present if (columns[i][0].indexOf("[") > -1) { columns[i][1] = columns[i][0].substring(columns[i][0].indexOf("[") + 1); columns[i][0] = columns[i][0].substring(0, columns[i][0].indexOf("[")).trim(); } else { /** * Todo: change column name/type design so that we can easily get the * column type. */ columns[i][1] = "Number"; } if (table.isColumnSelected(i)) { columns[i][2] = "Selected"; } else { columns[i][2] = null; } } } return columns; }
From source file:us.daveread.basicquery.BasicQuery.java
/** * Writes the data onto a file that is specified by the filePath * /* w ww. j a v a2s. co m*/ * @param query * The SQL statement * @param model * The model for the current results * @param filePath * A String that denotes the filepath * @param append * Whether to append the current results into the file * * @todo Make this handle other data types (especially Date/Time) better * for cleaner import to spreadsheet. */ private void writeDataAsCSV(String query, TableModel model, String filePath, boolean append) { PrintWriter out; int row, col; boolean[] quote; boolean quoteThis; String temp; Object value; out = null; this.setCursor(new Cursor(Cursor.WAIT_CURSOR)); (flashRunIndicator = new Thread( new FlashForeground(runIndicator, Color.red.brighter(), Color.lightGray, 5))).start(); (timeRunIndicator = new Thread(new InsertTime(timeIndicator, new java.util.Date().getTime(), QUERY_EXECUTION_TIMER_UPDATE_DELAY_MS))).start(); try { out = new PrintWriter(new FileWriter(filePath, append)); messageOut(""); messageOut(Resources.getString("msgStartExportToFile", filePath)); // Output query if (!fileExportsRaw.isSelected()) { // Make it look like a comment using hash comment character out.print("#,"); out.print("\""); } // out.print(getQuery().getSQL()); out.print(query.replaceAll("\n", " ")); if (!fileExportsRaw.isSelected()) { out.print("\""); } out.println(); // Setup array to hold which columns need to be quoted quote = new boolean[model.getColumnCount()]; // Output column headings - determine if column needs quotes for (col = 0; col < model.getColumnCount(); ++col) { if (col > 0) { out.print(","); } out.print("\"" + model.getColumnName(col) + "\""); /** * todo: use column type to set need for quotes */ quote[col] = false; } out.println(); // Output data for (row = 0; row < model.getRowCount(); ++row) { for (col = 0; col < model.getColumnCount(); ++col) { if (col > 0) { out.print(","); } // Get the field content try { value = model.getValueAt(row, col); if (value == null) { temp = ""; } else if (value instanceof java.sql.Timestamp) { temp = Utility.formattedDate((java.sql.Timestamp) value); } else { temp = model.getValueAt(row, col).toString(); if (!fileExportsRaw.isSelected()) { temp = temp.replace('"', '\''); temp = temp.replace('\n', '~'); } } } catch (Exception any) { LOGGER.error("Failed to export data", any); // Display error and move on messageOut(Resources.getString("errFailDuringExport", any.getMessage()), STYLE_RED); temp = ""; } // Decide if quotes are needed: // -If the row is a known character type // -If this field contains a comma quoteThis = !fileExportsRaw.isSelected() && (quote[col] || temp.indexOf(",") > -1); // Output the field if (quoteThis) { out.print("\""); } out.print(temp); if (quoteThis) { out.print("\""); } } if (!fileNoCRAddedToExportRows.isSelected()) { out.println(); } } // Assume that if writing multiple resultsets to file the // user would appreciate a separation line between them. if (append) { out.println("\n********"); } messageOut(Resources.getString("msgEndExportToFile")); } catch (Exception any) { LOGGER.error("Unable to write data to file", any); messageOut(Resources.getString("errFailDataSave", any.toString()), STYLE_RED); } finally { if (out != null) { try { out.close(); } catch (Exception any) { LOGGER.error("Failed while writing data to CSV file", any); } } } flashRunIndicator.interrupt(); flashRunIndicator = null; timeRunIndicator.interrupt(); timeRunIndicator = null; this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); }
From source file:vacationscheduler.UpcomingReservations.java
public void jTableToExcel() { try {/*w ww . j a v a2 s. c o m*/ String fileName = "./excelAttempt.xls"; TableModel model = jtable_upcomingReservations.getModel(); FileWriter file = new FileWriter(fileName); for (int column = 0; column < model.getColumnCount(); column++) { file.write(model.getColumnName(column) + "\t"); } file.write("\n"); for (int i = 0; i < model.getRowCount(); i++) { for (int j = 0; j < model.getColumnCount(); j++) { file.write(model.getValueAt(i, j).toString() + "\t"); } file.write("\n"); } file.close(); File file_file = new File(fileName); Desktop.getDesktop().open(file_file); } catch (IOException ex) { Logger.getLogger(UpcomingReservations.class.getName()).log(Level.SEVERE, null, ex); } }