Agenda com Jcalendar

0 respostas
foxvictor

Olá, estou criando uma Agenda na "unha" e preciso de ajuda.

Ver imagem:
[img]http://img855.imageshack.us/img855/8915/semttulooi.jpg[/img]

Preciso de fazer o seguinte:
1º selecionar a data no jcalendar - imagem 1 (qual o evento utilizado?)
2º inserir uma atividade no jtable (falta redimensiona-lo) - imagem 2
3º inserir uma tarefa no jtable - imagem 3 e ao clicar no checkbox deixar a linha selecionada (cor destaque) como tarefa realizada.

Para isso criei uma classe entidade chamada agenda..
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sgco;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Victor
 */
@Entity
@Table(name = "agenda")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Agenda.findAll", query = "SELECT a FROM Agenda a"),
    @NamedQuery(name = "Agenda.findByCdagenda", query = "SELECT a FROM Agenda a WHERE a.cdagenda = :cdagenda"),
    @NamedQuery(name = "Agenda.findByDia", query = "SELECT a FROM Agenda a WHERE a.dia = :dia"),
    @NamedQuery(name = "Agenda.findByMes", query = "SELECT a FROM Agenda a WHERE a.mes = :mes"),
    @NamedQuery(name = "Agenda.findByAno", query = "SELECT a FROM Agenda a WHERE a.ano = :ano"),
    @NamedQuery(name = "Agenda.findByHorario", query = "SELECT a FROM Agenda a WHERE a.horario = :horario"),
    @NamedQuery(name = "Agenda.findByAtividade", query = "SELECT a FROM Agenda a WHERE a.atividade = :atividade"),
    @NamedQuery(name = "Agenda.findByStatustarefa", query = "SELECT a FROM Agenda a WHERE a.statustarefa = :statustarefa"),
    @NamedQuery(name = "Agenda.findByTareda", query = "SELECT a FROM Agenda a WHERE a.tareda = :tareda")})
public class Agenda implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cdagenda")
    private Integer cdagenda;
    @Basic(optional = false)
    @Column(name = "dia")
    private String dia;
    @Basic(optional = false)
    @Column(name = "mes")
    private String mes;
    @Basic(optional = false)
    @Column(name = "ano")
    private String ano;
    @Basic(optional = false)
    @Column(name = "horario")
    private String horario;
    @Basic(optional = false)
    @Column(name = "atividade")
    private String atividade;
    @Basic(optional = false)
    @Column(name = "statustarefa")
    private String statustarefa;
    @Basic(optional = false)
    @Column(name = "tareda")
    private String tareda;

    public Agenda() {
    }

    public Agenda(Integer cdagenda) {
        this.cdagenda = cdagenda;
    }

    public Agenda(Integer cdagenda, String dia, String mes, String ano, String horario, String atividade, String statustarefa, String tareda) {
        this.cdagenda = cdagenda;
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
        this.horario = horario;
        this.atividade = atividade;
        this.statustarefa = statustarefa;
        this.tareda = tareda;
    }

    public Integer getCdagenda() {
        return cdagenda;
    }

    public void setCdagenda(Integer cdagenda) {
        this.cdagenda = cdagenda;
    }

    public String getDia() {
        return dia;
    }

    public void setDia(String dia) {
        this.dia = dia;
    }

    public String getMes() {
        return mes;
    }

    public void setMes(String mes) {
        this.mes = mes;
    }

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public String getHorario() {
        return horario;
    }

    public void setHorario(String horario) {
        this.horario = horario;
    }

    public String getAtividade() {
        return atividade;
    }

    public void setAtividade(String atividade) {
        this.atividade = atividade;
    }

    public String getStatustarefa() {
        return statustarefa;
    }

    public void setStatustarefa(String statustarefa) {
        this.statustarefa = statustarefa;
    }

    public String getTareda() {
        return tareda;
    }

    public void setTareda(String tareda) {
        this.tareda = tareda;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cdagenda != null ? cdagenda.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Agenda)) {
            return false;
        }
        Agenda other = (Agenda) object;
        if ((this.cdagenda == null && other.cdagenda != null) || (this.cdagenda != null && !this.cdagenda.equals(other.cdagenda))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "sgco.Agenda[ cdagenda=" + cdagenda + " ]";
    }
    
}

O Código da agenda é este:

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

/*
 * Menu_Principal.java
 *
 * Created on 04/05/2011, 09:23:46
 */
package sgco;

import javax.swing.JFrame;

/**
 *
 * @author Victor
 */
public class Menu_Principal extends javax.swing.JFrame {

    /** Creates new form Menu_Principal */
    public Menu_Principal() {
        initComponents();
        
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        activityAShapeBean1 = new com.miginfocom.beans.ActivityAShapeBean();
        activityAShapeBean2 = new com.miginfocom.beans.ActivityAShapeBean();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable2 = new javax.swing.JTable();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        Tabela_Horario = new javax.swing.JTable();
        jPanel2 = new javax.swing.JPanel();
        jCalendar1 = new com.toedter.calendar.JCalendar();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable3 = new javax.swing.JTable();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenu3 = new javax.swing.JMenu();

        jTable2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(jTable2);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema de Gerenciamento de Consultório Odontológico");
        setBackground(new java.awt.Color(255, 255, 255));

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 946, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 61, Short.MAX_VALUE)
        );

        Tabela_Horario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {"00:00", null},
                {"01:00", ""},
                {"02:00", null},
                {"03:00", null},
                {"04:00", null},
                {"05:00", null},
                {"06:00", null},
                {"07:00", null},
                {"08:00", null},
                {"09:00", null},
                {"10:00", null},
                {"11:00", null},
                {"12:00", null},
                {"13:00", null},
                {"14:00", null},
                {"15:00", null},
                {"16:00", null},
                {"17:00", null},
                {"18:00", null},
                {"19:00", null},
                {"20:00", null},
                {"21:00", null},
                {"22:00", null},
                {"23:00", null}
            },
            new String [] {
                "Horário", "Atividade"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        Tabela_Horario.setName("Tabela_Horario"); // NOI18N
        jScrollPane1.setViewportView(Tabela_Horario);

        jPanel2.setBackground(new java.awt.Color(255, 255, 255));
        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jCalendar1.setBackground(new java.awt.Color(255, 255, 255));
        jCalendar1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jCalendar1KeyPressed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jCalendar1, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(jCalendar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(246, Short.MAX_VALUE))
        );

        jPanel3.setBackground(new java.awt.Color(255, 255, 255));
        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

        jTable3.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null},
                {null, null}
            },
            new String [] {
                "Tarefas", ""
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Boolean.class, java.lang.Object.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane3.setViewportView(jTable3);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 946, Short.MAX_VALUE)
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jMenu1.setText("Cadastros");

        jMenuItem1.setText("Convênio");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem1);

        jMenuItem2.setText("Paciente");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Controles");
        jMenuBar1.add(jMenu2);

        jMenu3.setText("Relatórios");
        jMenuBar1.add(jMenu3);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 700, Short.MAX_VALUE)
                .addContainerGap())
            .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 412, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

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

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
       JFrame frame_convenio = new JFrame();
       frame_convenio.setContentPane( new Cadastro_Convenio());
       frame_convenio.pack();
       frame_convenio.setVisible(true);        // TODO add your handling code here:
    }                                          

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
       JFrame frame_paciente = new JFrame();
       frame_paciente.setContentPane( new Cadastro_Paciente());
       frame_paciente.pack();
       frame_paciente.setVisible(true);
       
         // TODO add your handling code here:
    }                                          
    
    private void jCalendar1KeyPressed(java.awt.event.KeyEvent evt) {
               // TODO add your handling code here:
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new Menu_Principal().setVisible(true);
               

            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JTable Tabela_Horario;
    private com.miginfocom.beans.ActivityAShapeBean activityAShapeBean1;
    private com.miginfocom.beans.ActivityAShapeBean activityAShapeBean2;
    private com.toedter.calendar.JCalendar jCalendar1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JTable jTable2;
    private javax.swing.JTable jTable3;
    // End of variables declaration
}

O que eu gostaria de saber é o seguinte, como faço para capturar os dados do calendário (jcalendar) das tabelas e inserir no banco através da classe de entidade "agenda", preciso de fazer isto até sábado, estou aprendendo Java ainda...
Qualquer coisa deixo meu e-mail, msn e skype se por acaso aparecer um bom samaritano disposto a dar um suporte.
e-mail/msn: [email removido]
skype: victor.vasconcelos.moreira

Muito obrigado!!

Criado 4 de maio de 2011
Respostas 0
Participantes 1