Tem certesa que imprime a data atual? posta o seu codigo completo, pois talvez vc esteja se confundindo e alterando a data do objeto.
O código que voce postou é o mesmo.
Att
P
pcjardim
O erro a acontece qdo eu mudo de
vencimento.add(Calendar.DAY_OF_MONTH, 10);
para
vencimento.add(Calendar.DAY_OF_MONTH, inteiro);
.
Mas o código completo é:
packagerelatorios;importbd.*;importcom.mysql.jdbc.Connection;importcom.mysql.jdbc.Statement;importjava.sql.SQLException;importjavax.swing.*;importjava.awt.*;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCalendar;importjavax.swing.table.*;publicclassRelPrazosextendsJFrame{privateDatedata1,data2;GregorianCalendardata;GregorianCalendarvencimento=newGregorianCalendar();Stringnome,medida;GregorianCalendarhoje=newGregorianCalendar();GregorianCalendarc=newGregorianCalendar();SimpleDateFormatformatadorBr=newSimpleDateFormat("dd/MM/yyyy");DateFormatformatter=newSimpleDateFormat("dd/MM/yyyy");publicRelPrazos(MysqlQueryq)throwsInstantiationException,ClassNotFoundException,IllegalAccessException,SQLException{super("Relatóriorio de Prazos");finalDefaultTableModelmodelo=newDefaultTableModel();JTabletabelaP=newJTable(modelo);JTableHeadertitulos=tabelaP.getTableHeader();titulos.setBackground(Color.LIGHT_GRAY);MysqlQueryq1=q;// Cria duas colunasStringnom="Nome";StringmeD="Medida";StringdtI="Data Internação";Stringven="Vencimento";modelo.addColumn(nom);modelo.addColumn(meD);modelo.addColumn(dtI);modelo.addColumn(ven);Fontfont=tabelaP.getFont().deriveFont(Font.BOLD);tabelaP.getColumn(ven).setCellRenderer(newFontRenderer(font));tabelaP.getColumn(dtI).setCellRenderer(newFontRenderer(font));tabelaP.getColumnModel().getColumn(0).setPreferredWidth(370);tabelaP.getColumnModel().getColumn(1).setPreferredWidth(260);tabelaP.getColumnModel().getColumn(2).setPreferredWidth(140);tabelaP.getColumnModel().getColumn(3).setPreferredWidth(140);data1=hoje.getTime();q.open("select * from processos");q.last();do{Stringnon=q.fieldbyname("codP");Stringmed=q.fieldbyname("codM");StringdatInt=q.fieldbyname("dataInt");Stringd1=datInt;Stringd=d1.substring(8,10);intdia=Integer.parseInt(d);Stringm=d1.substring(5,7);intmes=Integer.parseInt(m);Stringa=d1.substring(0,4);intano=Integer.parseInt(a);data=newGregorianCalendar(ano,(mes-1),dia);//20/09/2007data2=data.getTime();doublediffDias=Math.floor((data1.getTime()-data2.getTime())/1000.0/86400.00);doubleval=diffDias;intinteiro=(int)(val);StringinteiroS=Integer.toString(inteiro);if(inteiroS.length()>3);{inteiroS=Insere(inteiroS);}doubleresto=(val-inteiro);Stringcond=(inteiroS+" dias de condenção ("+calculaData(data1,data2)+")");vencimento=data;System.out.print(vencimento.getTime());vencimento.add(Calendar.DAY_OF_MONTH,inteiro);System.out.println(" <=> "+vencimento.getTime()+" <=> "+inteiro);datInt=formataData(datInt);Class.forName("com.mysql.jdbc.Driver").newInstance();Connectionconn=(Connection)DriverManager.getConnection("jdbc:mysql://localhost/infancia?user=root&password=");Statementstmt=(Statement)conn.createStatement();Stringquery="select * from pessoas where codigo = '"+non+"'";ResultSetrs=stmt.executeQuery(query);while(rs.next()){nome=rs.getString("nome");}Stringquery1="select * from medidas where codigo = '"+med+"'";ResultSetrs1=stmt.executeQuery(query1);while(rs1.next()){medida=rs1.getString("medida");}modelo.addRow(newObject[]{nome,medida,datInt,formatadorBr.format(data.getTime())});}while(q.prev());tabelaP.setPreferredScrollableViewportSize(newDimension(700,450));Containerd=getContentPane();d.setLayout(newFlowLayout());JScrollPanescrollPane=newJScrollPane(tabelaP);d.add(scrollPane);setSize(730,520);setVisible(true);}}
no primeiro caso “inteiro = 10” da certinho, mas da forma que eu preciso ao invés de calcular, somar os dias(inteiro) a data que está em vencimento, vencimento fica com a data atual (do dia)