public static void main(String[] args) throws IOException { Sql reader = new Sql(); final String emisora = "BIMBO"; final String serie = ""; final Calendar day = new GregorianCalendar(2010, 10, 17); ArrayList<Orden> ordenes = reader.readIniciales(emisora, serie, day); reader.read(ordenes, emisora, serie, day); String datetext = day.get(Calendar.YEAR) + "" + (day.get(Calendar.MONTH) + 1) + "" + day.get(Calendar.DATE); FileWriter fw = new FileWriter("ordenes" + emisora + datetext + ".txt"); final BufferedWriter bw = new BufferedWriter(fw); FileWriter fw2 = new FileWriter("ordenes2" + emisora + datetext + ".txt"); final BufferedWriter bw2 = new BufferedWriter(fw2); FileWriter fwc = new FileWriter("compra" + emisora + datetext + ".txt"); final BufferedWriter bwc = new BufferedWriter(fwc); FileWriter fwv = new FileWriter("venta" + emisora + datetext + ".txt"); final BufferedWriter bwv = new BufferedWriter(fwv); FileWriter fwd = new FileWriter("distancia" + emisora + datetext + ".txt"); final BufferedWriter bwd = new BufferedWriter(fwd); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final DefaultTableModel modelVenta = new DefaultTableModel() { @Override public Class getColumnClass(int column) { if (column == 1) { return BigDecimal.class; } return Object.class; } }; final DefaultTableModel modelCompra = new DefaultTableModel() { @Override public Class getColumnClass(int column) { if (column == 1) { return BigDecimal.class; } return Object.class; } }; final DefaultTableModel modelExec = new DefaultTableModel(); final DefaultTableModel modelExec2 = new DefaultTableModel(); final DefaultTableModel modelOrdenes = new DefaultTableModel(); final JTable tableVenta = new JTable(modelVenta); tableVenta.setAutoCreateRowSorter(true); final JTable tableCompra = new JTable(modelCompra); tableCompra.setAutoCreateRowSorter(true); final JTable tableExec = new JTable(modelExec); final JTable tableExec2 = new JTable(modelExec2); final JTable tableOrdenes = new JTable(modelOrdenes); JScrollPane scrollPaneVenta = new JScrollPane(tableVenta); JScrollPane scrollPaneCompra = new JScrollPane(tableCompra); JScrollPane scrollPaneExec = new JScrollPane(tableExec); JScrollPane scrollPaneExec2 = new JScrollPane(tableExec2); JScrollPane scrollPaneOrdenes = new JScrollPane(tableOrdenes); scrollPaneVenta.setBounds(0, 0, 400, 250); scrollPaneCompra.setBounds(0, 250, 400, 250); scrollPaneExec.setBounds(400, 0, 400, 250); scrollPaneExec2.setBounds(400, 250, 400, 250); scrollPaneOrdenes.setBounds(0, 500, 800, 200); frame.setLayout(null); frame.add(scrollPaneVenta); frame.add(scrollPaneCompra); frame.add(scrollPaneExec); frame.add(scrollPaneExec2); frame.add(scrollPaneOrdenes); frame.setSize(806, 792); frame.setVisible(true); frame.setResizable(false); ArrayList<SortKey> sortKeysv = new ArrayList<RowSorter.SortKey>(); sortKeysv.add(new RowSorter.SortKey(1, SortOrder.DESCENDING)); sortKeysv.add(new RowSorter.SortKey(3, SortOrder.DESCENDING)); modelVenta.addColumn(""); modelVenta.addColumn("Precio"); modelVenta.addColumn("Volumen"); modelVenta.addColumn("Folio"); tableVenta.getRowSorter().setSortKeys(sortKeysv); ArrayList<SortKey> sortKeysc = new ArrayList<RowSorter.SortKey>(); sortKeysc.add(new RowSorter.SortKey(1, SortOrder.DESCENDING)); sortKeysc.add(new RowSorter.SortKey(3, SortOrder.ASCENDING)); modelCompra.addColumn(""); modelCompra.addColumn("Precio"); modelCompra.addColumn("Volumen"); modelCompra.addColumn("Folio"); tableCompra.getRowSorter().setSortKeys(sortKeysc); modelExec.addColumn("Hora"); modelExec.addColumn("Precio"); modelExec.addColumn("Volumen"); modelExec2.addColumn("Hora"); modelExec2.addColumn("Precio"); modelExec2.addColumn("Volumen"); modelOrdenes.addColumn("Tipo"); modelOrdenes.addColumn("Precio"); modelOrdenes.addColumn("Volumen"); modelOrdenes.addColumn("Hora"); modelOrdenes.addColumn("Folio"); modelOrdenes.addColumn("Folio Ant."); modelOrdenes.addColumn("Casa de Bolsa"); Object[] columns = { "Tipo", "Precio", "Volumen", "Hora", "Folio", "Folio Ant.", "Casa de Bolsa", "Orden" }; Vector<Object> columnNames = convertToVector(columns); Vector<Object> data = new Vector<Object>(6000); for (int i = 0; i < ordenes.size(); i++) { Vector<Object> row = convertToVector(ordenes.get(i).toRow()); data.add(row); } modelOrdenes.setDataVector(data, columnNames); DateRenderer2 render = new DateRenderer2(); tableOrdenes.getColumnModel().getColumn(3).setCellRenderer(render); tableExec.getColumnModel().getColumn(0).setCellRenderer(render); tableExec2.getColumnModel().getColumn(0).setCellRenderer(render); JButton buttonNext = new JButton("Siguiente"); buttonNext.setBounds(30, 716, 100, 30); frame.add(buttonNext); buttonNext.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed if (modelOrdenes.getRowCount() > 0) action( day, modelCompra, modelVenta, modelOrdenes, modelExec, modelExec2, tableCompra, tableVenta, tableExec, tableExec2, bw, bw2, bwc, bwv, bwd); } }); JButton buttonDeleteCompra = new JButton("Cancelar Compra"); buttonDeleteCompra.setBounds(150, 716, 200, 30); frame.add(buttonDeleteCompra); buttonDeleteCompra.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed int d = tableCompra.getSelectedRow(); try { modelCompra.removeRow(tableCompra.convertRowIndexToModel(d)); } catch (Exception ex) { System.out.println("Cannot delete row: " + ex); } } }); JButton buttonDeleteVenta = new JButton("Cancelar Venta"); buttonDeleteVenta.setBounds(370, 716, 200, 30); frame.add(buttonDeleteVenta); buttonDeleteVenta.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed int d = tableVenta.getSelectedRow(); try { modelVenta.removeRow(tableVenta.convertRowIndexToModel(d)); } catch (Exception ex) { System.out.println("Cannot delete row: " + ex); } } }); JButton buttonPlay = new JButton("Play"); buttonPlay.setBounds(600, 716, 100, 30); frame.add(buttonPlay); buttonPlay.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Execute when button is pressed int i = 0; // while(tableOrdenes.getRowCount() > 0 && i < 100) { while (tableOrdenes.getRowCount() > 0) { Date cal = (Date) modelOrdenes.getValueAt(0, 3); action( day, modelCompra, modelVenta, modelOrdenes, modelExec, modelExec2, tableCompra, tableVenta, tableExec, tableExec2, bw, bw2, bwc, bwv, bwd); // modelCompra.getValueAt(0, 1) i++; } if (tableOrdenes.getRowCount() <= 0) try { bw.close(); bw2.close(); bwc.close(); bwv.close(); bwd.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); }