Duvidas sobre como pegar uma data selecionada do JCalendar

Boa tarde colegas, estou com o seguinte problema, estou implementando um aplicativo, que usa um JCalendar, ele ja esta adicionado em um JPanel, a duvida é o seguinte:
como faço para pegar uma data selecionada no calendario e coloca-la em um JTextField, pra colocar um conteudo no JTextField eu sei, agora como pego a data qdo ela for selecionada.

Moises,

v se eu intendiii, vc precisa pegar o valor do jpanel?

na verdade, preciso pegar uma valor(uma data) de um JCalendar, que esta no JPanel, tipo, clico em uma data qualquer, e coloca a mesma em um JTextField

como faço, para tratar um evento ocorrido no calendario

Moises faz direto, insere a data direto no jtextfiled

//****INSERE A DATA NO DATA****// Date data = new Date(); String dia =""+data.getDate(); //****SOMA +1 POIS ELE CONTA O MES A PARTIR DO 0****// String mes =""+String.valueOf(data.getMonth()+1); //****SOMA +1900 POIS ELE COMEÇA A CONTAR O ANO A PARTIR DE 1900****// String ano =""+(1900 + data.getYear()); if (Integer.parseInt(mes)<=9) mes="0"+mes; jTEXTFIELD.setText(dia+"/"+mes+"/"+ano);

Se não for o jeito que vc precisa pode postar

pois é Vinicius, dessa forma eu consigo fazer, contudo não é a forma que eu preciso, porque o usuario escolhera a data no calendario.
da uma olhada no codigo pra ver se vc entende

[/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package br.com.controledehorario;

import de.wannawork.jcalendar.JCalendarPanel;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;

/**
*

  • @author Moises.Moura
    */
    public class FormaGradeTeste2 extends JFrame implements ActionListener{
    private JLabel lbNome;
    private JLabel lbDiaSemana;
    private JLabel lbDisciplina;
    private JLabel lbProfessor;
    private JLabel lbHora;
    private JLabel lbSerie;
    private JLabel lbDataAula;
    private JLabel lbMatricula;
    private JLabel lbCodDisciplina;
    private JLabel lbMatProfessor;

    private JTextField txtMatProfessor;
    private JTextField txtNome;
    private JTextField txtMatricula;
    private JTextField txtDataAula;
    private JTextField txtDiaSemana;
    private JTextField txtCodDisciplina;

    private JComboBox cmbDisciplina;
    private JComboBox cmbProfessor;
    private JComboBox cmbHoras;
    private JComboBox cmbSerie;

    private JButton btnLimpar;
    private JButton btnSalvar;
    private JButton btnAlterar;
    private JButton btnExcluir;
    private JButton btnSair;
    private JButton btnOk;
    private JButton btnFiltrar;
    private JButton btnCancelar;

    private JCalendarPanel cal;
    private JTable jtbGradeFormada;

    private DefaultTableModel dftm=new DefaultTableModel();
    private String []nomeColunas={“Aluno(a):”,“Série:”,“Disciplina:”,“Professor(a):”,“Data:”,“Hora/aula:”};

    private JScrollPane jspGrade;
    Border bordaPainelMontaGrade;
    private JPanel painelTabela;
    private Border bordaTabela;
    private JPanel painelMontaGrade;
    private JPanel painelCal;

    public FormaGradeTeste2()
    {
    super();
    initComponents();
    }
    public FormaGradeTeste2(String titulo)
    {
    super (titulo);
    initComponents();
    }
    @SuppressWarnings(“static-access”)

    private void initComponents() {
    setLayout(null);

     Object[][] conteudo = {{"","","","",""},
                            {"","","","",""}};
    
     Container c= getContentPane();
     painelMontaGrade = new JPanel();
     painelCal=new JPanel();
     painelTabela=new JPanel();
     cal=new JCalendarPanel();
    
     bordaTabela=BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
     TitledBorder tbTabela= BorderFactory.createTitledBorder(bordaTabela, "  Grade horária ");
    
     Border rbbBorda=BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
     TitledBorder tbBorda = BorderFactory.createTitledBorder( rbbBorda, "Montagem da Grade horária" );
    
     jtbGradeFormada=new JTable(dftm);
     jspGrade=new JScrollPane(jtbGradeFormada);
    
     txtNome=new JTextField();
     txtDataAula=new JTextField();
     txtDiaSemana=new JTextField();
     txtMatricula=new JTextField();
     txtCodDisciplina=new JTextField();
     txtMatProfessor=new JTextField();
    
     cmbDisciplina=new JComboBox();
     cmbProfessor=new JComboBox();
     cmbHoras=new JComboBox();
     cmbSerie=new JComboBox();
    
     //btnConsultar=new JButton("Consultar");
     btnLimpar=new JButton("Limpar");
     btnFiltrar=new JButton("Filtrar");
     btnExcluir=new JButton("Excluir");
     btnCancelar=new JButton("Cancelar");
     btnSalvar=new JButton("Salvar");
    
     btnOk=new JButton("Ok");
    // btnConfirmar=new JButton("Confirmar");
     btnAlterar=new JButton("Alterar");
     btnSair=new JButton("Sair");
    
     lbDisciplina=new JLabel ("Disciplina:");
     lbCodDisciplina=new JLabel("Cód. Disc. :");
    
     lbProfessor=new JLabel("Professor:");
     lbMatProfessor=new JLabel("Mat. Prof. :");
    
     lbNome=new JLabel("Aluno(a):");
     lbMatricula=new JLabel("Matricula:");
     lbHora=new JLabel("Horário:");
     lbSerie=new JLabel("Série:");
     lbDiaSemana=new JLabel("Dia Semana:");
     lbDataAula=new JLabel("Data Selecionada:");
     String []teste={"08:00 às 10:00","10","",""};
    
     cmbHoras.addItem("08:00 às 10:00");
     cmbHoras.addItem("10:00 às 12:00");
     cmbHoras.addItem("14:00 às 16:00");
     cmbHoras.addItem("16:00 às 18:00");
    
     cmbSerie.addItem("5º Série");
     cmbSerie.addItem("6º Série");
    
     cmbSerie.addItem("7º Série");
     cmbSerie.addItem("8º Série");
    
     dftm.setDataVector(conteudo, nomeColunas);
     //itens adicionados no Painel com a borda
    
     lbNome.setBounds(25,35,100,25);
     txtNome.setBounds(25,65,315,25);
     lbMatricula.setBounds(350,35,100,25);
     txtMatricula.setBounds(350,65,100,25);
     btnFiltrar.setBounds(460,65,90,25);
    
     /*lbNome.setBounds(25,100,100,25);
     txtNome.setBounds(25,130,315,25);*/
     lbDisciplina.setBounds(25,100,80,25);
     cmbDisciplina.setBounds(25,130,120,25);
    
     lbCodDisciplina.setBounds(155,100,120,25);
     txtCodDisciplina.setBounds(155,130,120,25);
    
     lbProfessor.setBounds(290,100,100,25);
     cmbProfessor.setBounds(290,130,150,25);
     lbMatProfessor.setBounds(450,100,100,25);
     txtMatProfessor.setBounds(450,130,100,25);
    
     cal.setBounds(580,55,150,220);
    
     lbHora.setBounds(25,170, 80,25);
     cmbHoras.setBounds(25,200 ,100, 25);
     lbSerie.setBounds(140,170,80,25);
     cmbSerie.setBounds(140,200,100,25);
     lbDataAula.setBounds(255,170,120,25);
     txtDataAula.setBounds(255,200,120,25);
     lbDiaSemana.setBounds(385,170,120,25);
     txtDiaSemana.setBounds(385,200,120,25);
     btnOk.setBounds(25,260, 100,25);
     btnLimpar.setBounds(140,260,100,25);
     btnCancelar.setBounds(255,260,100,25);
    
     btnSalvar.setBounds(150,155,100,25);
     btnAlterar.setBounds(270,155,100,25);
     btnExcluir.setBounds(390,155,100,25);
     btnSair.setBounds(510,155,100,25);
    
     painelMontaGrade.setBounds(40,30,770,350);
     painelTabela.setBounds(40,400,770,200);
     painelCal.setBounds(500,100,100,25);
     jspGrade.setBounds(25,40,720,100);
    
     painelMontaGrade.setLayout(null);
     painelTabela.setLayout(null);
      //tbTabela
      //bordaTabela
     painelTabela.setBorder(tbTabela);
     painelMontaGrade.setBorder(tbBorda);
     painelTabela.add(jspGrade);
     painelTabela.add(btnSalvar);
     painelTabela.add(btnAlterar);
     painelTabela.add(btnExcluir);
    
     painelTabela.add(btnSair);
    
     painelMontaGrade.add(lbDisciplina);
     painelMontaGrade.add(cmbDisciplina);
     painelMontaGrade.add(lbCodDisciplina);
     painelMontaGrade.add(txtCodDisciplina);
     painelMontaGrade.add(lbProfessor);
     painelMontaGrade.add(cmbProfessor);
     painelMontaGrade.add(lbMatProfessor);
     painelMontaGrade.add(txtMatProfessor);
     painelMontaGrade.add(lbNome);
     painelMontaGrade.add(txtNome);
     painelMontaGrade.add(btnFiltrar);
     painelMontaGrade.add(lbMatricula);
     painelMontaGrade.add(txtMatricula);
     painelMontaGrade.add(lbHora);
     painelMontaGrade.add(cmbHoras);
     painelMontaGrade.add(lbSerie);
     painelMontaGrade.add(cmbSerie);
     painelMontaGrade.add(lbDataAula);
     painelMontaGrade.add(txtDataAula);
     painelMontaGrade.add(lbDiaSemana);
     painelMontaGrade.add(txtDiaSemana);
     painelMontaGrade.add(btnLimpar);
     painelMontaGrade.add(btnOk);
     painelMontaGrade.add(btnCancelar);
    
     painelMontaGrade.add(cal);
    
     c.add(painelMontaGrade);
     c.add(painelTabela);
    
    //eventos dos botões
     btnSalvar.addActionListener(this);
     btnAlterar.addActionListener(this);
     btnExcluir.addActionListener(this);
     btnExcluir.addActionListener(this);
     btnSair.addActionListener(this);
     btnOk.addActionListener(this);
     btnLimpar.addActionListener(this);
     btnCancelar.addActionListener(this);
     //aqui a dificuldade, como adiciono um evento para um dado do calendario
    
     setSize(850,700);
     setLocation(200,20);
     setVisible(true);
     setDefaultCloseOperation(EXIT_ON_CLOSE);
    

    }

    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==btnLimpar)
    {
    JOptionPane.showMessageDialog(null,“Botão Limpar foi acionado”);
    }
    if(e.getSource()==btnSalvar)
    {
    JOptionPane.showMessageDialog(null,"Botão Salvar foi acionado ");
    }
    if(e.getSource()==btnSair)
    {
    JOptionPane.showMessageDialog(null,“Saindo do programa”);
    System.exit(0);
    }
    if(e.getSource()==cal)
    {
    //aqui entrara o codigo que tratará o evento da data selecionada no
    //calendario
    }

    }

    public static void main(String[] args) {
    FormaGradeTeste2 inc=new FormaGradeTeste2(“Testee”);
    // inc.initComponents();
    }
    }
    ]

ola tentei estudar o código acima e obtive dificuldade em achar a classe jcalendarpanel… ???

Compiling 1 source file to C:\Documents and Settings\raghyjose\TesteThreadETc\build\classes
C:\Documents and Settings\raghyjose\TesteThreadETc\src\testethreadetc\FormaGradeTeste2.java:72: cannot find symbol
symbol  : class JCalendarPanel
location: class testethreadetc.FormaGradeTeste2
private JCalendarPanel cal; 
C:\Documents and Settings\raghyjose\TesteThreadETc\src\testethreadetc\FormaGradeTeste2.java:108: cannot find symbol
symbol  : class JCalendarPanel
location: class testethreadetc.FormaGradeTeste2
cal=new JCalendarPanel(); 
2 errors
CONSTRUÇÃO FALHOU (tempo total: 5 segundos)

tambem estou com outro código que é para isto o estudo, onde, quero que a data seje atualizada a todo momento, uma data viva, e nao acontece isto…

segue

package yatzi_ou_general;
import java.util.Date;
/**
 *
 * @author  raghyjose
 */
public class Yatzi_Net extends javax.swing.JFrame {
        Date data=new Date();
    /** Creates new form Yatzi_Net */
  public Yatzi_Net() {
  initComponents();
    
  String dia   =""+data.getDate();   
  String mes   =""+String.valueOf(data.getMonth()+1);   
  String ano   =""+(1900 + data.getYear());   
  if (Integer.parseInt(mes)<=9) {  
  mes="0"+mes;   
  //jThora.setText(""+data); 
  jThora.setText(dia+"/"+mes+"/"+ano);   
  }
  
     String hora1=""+String.valueOf(data.getTime());  
     String hora=""+String.valueOf(data.getHours());  
     String minuto=""+String.valueOf(data.getMinutes());  
     String segundos=""+String.valueOf(data.getSeconds());  
        
     if (Integer.parseInt(segundos)<=10) {  
     segundos="0"+segundos; 
     }               
     //jThora2.setText(hora+":"+minuto+":"+segundos);
     jThora2.setText(""+hora1);    
    }  
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jTInicio1 = new javax.swing.JTextField();
        jTParar1 = new javax.swing.JTextField();
        jThora = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jThora2 = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("iniciar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("parar");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jTParar1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTParar1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout

(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addGroup(jPanel1Layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jButton1)
                        .addPreferredGap

(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2))
                    .addGroup(jPanel1Layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(jTInicio1, 

javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jTParar1, 

javax.swing.GroupLayout.Alignment.LEADING, 

javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)))
                .addContainerGap(83, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(123, 123, 123)
                .addGroup(jPanel1Layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addGap(18, 18, 18)
                .addComponent(jTInicio1, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap

(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jTParar1, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(43, Short.MAX_VALUE))
        );

        jThora.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jThoraActionPerformed(evt);
            }
        });

        jLabel1.setText("Data Atual:");

        jThora2.setText("jTextField2");
        jThora2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jThora2ActionPerformed(evt);
            }
        });

        jLabel2.setText("hora atual:");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout

(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jThora, javax.swing.GroupLayout.PREFERRED_SIZE, 170, 

javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap

(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78, Short.MAX_VALUE)
                .addComponent(jLabel2)
                .addGap(18, 18, 18)
                .addComponent(jThora2, javax.swing.GroupLayout.PREFERRED_SIZE, 149, 

javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(80, 80, 80))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(415, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(layout.createParallelGroup

(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jThora, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2)
                    .addComponent(jThora2, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(72, 72, 72)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(86, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

    private void jThoraActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void jThora2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        String hora=""+String.valueOf(data.getHours());  
        String minuto=""+String.valueOf(data.getMinutes());  
        String segundos=""+String.valueOf(data.getSeconds());  
        jTInicio1.setText(hora+":"+minuto+":"+segundos);
           
    }

    private void jTParar1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
          String hora=""+String.valueOf(data.getHours());  
        String minuto=""+String.valueOf(data.getMinutes());  
        String segundos=""+String.valueOf(data.getSeconds());  
        jTInicio1.setText(hora+":"+minuto+":"+segundos);
       jTParar1.setText(hora+":"+minuto+":"+segundos);
    }
        /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                //Date= new Date();
       
                new Yatzi_Net().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextField jTInicio1;
    private javax.swing.JTextField jTParar1;
    private javax.swing.JTextField jThora;
    private javax.swing.JTextField jThora2;
    // End of variables declaration
    
}