Olá,
Basta vc instancia um objeto da classe que vai calcular as datas e passar as var contendo as datas.
Vc instancia a classe da verificação das datas dentro da classe Frame.
É isso ou interpretei errado?
T
ThaisPJ
Pode me postar um exemplo por favor?
Instanciei a classe e agora?
Obrigada
G
Guilherme_MelloPJ
"Thais":
Pode me postar um exemplo por favor?
Instanciei a classe e agora?
Obrigada
Classe instancia = new Classe();
// supondo que você tenha um método que realize o cálculo
instancia.calculaData(DataFim ,DataInicio);
Estou testando aqui mas cada classe é um arquivo.
Quanto a isso tudo bem certo?
ou as duas classes precisam está no mesmo arquivo?
Obrigada
C
clvPJ
“Thais”:
Estou testando aqui mas cada classe é um arquivo.
Quanto a isso tudo bem certo?
ou as duas classes precisam está no mesmo arquivo?
Obrigada
Cada classe um arquivo!
T
ThaisPJ
Não está dando certo!
Posso te postar as classes?
Obrigada
C
clvPJ
Pode postar sim!!
So não esqueça do [ code ] [ /code ] ok?!
T
ThaisPJ
importjavax.swing.JOptionPane;/**Frame_Prazo.java**Createdon6deJulhode2005,13:46*/publicclassFrame_Prazoextendsjavax.swing.JFrame{/**CreatesnewformFrame_Prazo*/publicFrame_Prazo() {initComponents();}publicvoidsetdtPostagem(String parametro){ dtPostagem.setText(parametro);}publicStringgetdtPostagem(){returndtPostagem.getText();}publicvoidsetdtEntrega(String parametro){ dtEntrega.setText(parametro);}publicStringgetdtEntrega(){returndtEntrega.getText();}/**Thismethodiscalledfromwithintheconstructorto*initializetheform.*WARNING: Do NOT modify this code. The content of this method is*alwaysregeneratedbytheFormEditor.*///<editor-folddefaultstate="collapsed"desc=" Generated Code ">privatevoidinitComponents() {jLabel1=newjavax.swing.JLabel();jLabel2=newjavax.swing.JLabel();dtPostagem=newjavax.swing.JTextField();dtEntrega=newjavax.swing.JTextField();jButton1=newjavax.swing.JButton();getContentPane().setLayout(null);setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jLabel1.setText("Data Postagem:");getContentPane().add(jLabel1);jLabel1.setBounds(20, 80, 90, 15);jLabel2.setText("Data Entrega:");getContentPane().add(jLabel2);jLabel2.setBounds(20, 120, 80, 15);dtPostagem.setName("dtPostagem");getContentPane().add(dtPostagem);dtPostagem.setBounds(127, 80, 70, 21);dtEntrega.setName("dtEntrega");getContentPane().add(dtEntrega);dtEntrega.setBounds(127, 120, 70, 21);jButton1.setText("Verificar");jButton1.addActionListener(new java.awt.event.ActionListener() {publicvoidactionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});getContentPane().add(jButton1);jButton1.setBounds(20, 170, 90, 25);pack();}//</editor-fold>privatevoidjButton1ActionPerformed(java.awt.event.ActionEvent evt) { //TODOaddyourhandlingcodehereCalcula_Diasdiferenca_dias=newCalcula_Dias();//diferenca_dias.calcIntervaloDias();//JOptionPane.showMessageDialog(null, //"Data de Entrega menor que a Data de Postagem!",//"Aviso!",//JOptionPane.INFORMATION_MESSAGE);//System.exit(0);} /***@paramargsthecommandlinearguments*/publicstaticvoidmain(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {publicvoidrun() {Frame_Prazoframe_prazo=newFrame_Prazo();frame_prazo.setSize(300,300);frame_prazo.setVisible(true);}});}//Variablesdeclaration-donotmodifyprivatejavax.swing.JTextFielddtEntrega;privatejavax.swing.JTextFielddtPostagem;privatejavax.swing.JButtonjButton1;privatejavax.swing.JLabeljLabel1;privatejavax.swing.JLabeljLabel2;//Endofvariablesdeclaration}
e
importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.GregorianCalendar;/** * @author jp [email removido] * Cálculos e transformações diversas utilizando data. * Data: 12/06/2003 */publicclassCalcula_Dias{// Formatar para dd/mm/aaaaSimpleDateFormatformatador1=newSimpleDateFormat("dd/MM/yyyy");// Formatar para dd.mm.aaSimpleDateFormatformatador2=newSimpleDateFormat("dd.MM.yy");//public static void main(String[] args) {//new Calcula_Dias();//}// ConstrutorpublicCalcula_Dias(){java.util.Datedata1=null;java.util.Datedata2=null;java.util.GregorianCalendargc1=null;java.util.GregorianCalendargc2=null;try{System.out.println("Dias no intervalo 1: "+calcIntervaloDias("01/07/2005","31/07/2005")+" dia(s)");/*System.out.println( "Dias no intervalo 2: " + calcIntervaloDias("08/07/2004", "10/07/2004") + " dia(s) ");*/}catch(Exceptione){System.out.println("Erro calculo intervalo datas: "+e);}}/** * Method calcIntervaloDias. * @param d1 Data Inicial String no formato dd/mm/aaaa * @param d2 Data Final String no formato dd/mm/aaaa * @return long quantidade de dias entre as duas datas */publiclongcalcIntervaloDias(Stringd1,Stringd2)throwsException{DatedataIni=formatador1.parse(d1);DatedataFim=formatador1.parse(d2);returncalcIntervaloDias(dataIni,dataFim);}/** * Method calcIntervaloDias. * @param dataIni Data Inicial * @param dataFim Data Final * @return long quantidade de dias entre as duas datas */publiclongcalcIntervaloDias(DatedataIni,DatedataFim){GregorianCalendarc1=newGregorianCalendar();c1.setTime(dataIni);GregorianCalendarc2=newGregorianCalendar();c2.setTime(dataFim);return((c2.getTime().getTime()-c1.getTime().getTime())/1000/60/60/24);}}
Obrigada!
C
clvPJ
Ok, mas vc tem que me dizer qual o problema.
Qual o erro que dá… é erro de compilação ou de execução?
T
ThaisPJ
Eu quero que as datas que são digitadas nos JTextField(DataFim e DataInicio) seja feito o cálculo DataFim - DataInicio
através da classe Calcula_Dias.
Me compreendeu?
C
clvPJ
Basta pegar o valor do JTextField com getText ou getString… nao lembro direito.
e colocar nos parametros do método calcIntervaloDias(String arg1, String arg2).
Assim:
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){// TODO add your handling code hereCalcula_Diasdiferenca_dias=newCalcula_Dias();try{System.out.println(diferenca_dias.calcIntervaloDias(dtPostagem.getText(),dtEntrega.getText()));}catch(Exceptione){}//JOptionPane.showMessageDialog(null,//"Data de Entrega menor que a Data de Postagem!",//"Aviso!",//JOptionPane.INFORMATION_MESSAGE);//System.exit(0);}
Agora vai!
T
ThaisPJ
Quase !!!
Na classe Calcula_Dias ainda ocorre o erro:
calcIntervaloDias(java.util.Date,java.util.Date)in Calcula_Dias cannot be applied to(java.lang.String,java.lang.String)
Fazer conversões não é?
C
clvPJ
Opa,
Aqui… com as classes que vc postou funcionou sim!!!
V aí o que é … mas agora vc conserta neh!!