Avatar billede nzc Nybegynder
21. oktober 2003 - 17:42 Der er 10 kommentarer og
1 løsning

Hvordan får jeg jCalender til at virke ?

Hej!

Jeg har ledt efter en "datechooser" og har endelig fundet en jeg ka li hvad angår udseende og måde at opføre sig på. Det er den her

http://www.toedter.com/en/jcalendar/index.html

Jeg vil så inderligt gerne have den til at give mig et Date objekt (mener det er det den returnerer når brugeren trykker på en dag i kalenderen) men jeg aner ikke hvordan. Jeg har været inde og læse docs til den men jeg ka ikke umiddelbart se hvordan det virker.

Altså når en bruger trykker på en da i jCalender skal den gerne returnere en Date til mig som jeg kan arbejde videre med. Hvordan gør jeg lige det?

Jeg har fået den sat ind i en JFrame og sårn (bruger netbeans).

On forhand fanx

NZC
Avatar billede arne_v Ekspert
21. oktober 2003 - 17:47 #1
Prøv med:

myjcalendar.getCalendar().getTime()

den bør returnere en java.util.Date !
Avatar billede nzc Nybegynder
21. oktober 2003 - 18:46 #2
Du har ret i det gir mig en Date :) Men hvor dælen ska jeg skrive det henne ?!

Jeg har følgende ind til videre:

public class findLedigBehandlerFrame extends javax.swing.JFrame {
   
    /** Creates new form findLedigBehandlerFrame */
    public findLedigBehandlerFrame() {
        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.
    */
    private void initComponents() {//GEN-BEGIN:initComponents
        jPanel1 = new javax.swing.JPanel();

        jCalendar1 = new com.toedter.calendar.JCalendar();

        getContentPane().setLayout(null);

        setTitle("Find");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jPanel1.setLayout(null);


        jPanel1.add(jCalendar1);
        jCalendar1.setBounds(10, 50, 214, 179);

        getContentPane().add(jPanel1);
        jPanel1.setBounds(0, 0, 600, 400);

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-600)/2, (screenSize.height-400)/2, 600, 400);


    }//GEN-END:initComponents


    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
        System.exit(0);
    }//GEN-LAST:event_exitForm
   
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        new findLedigBehandlerFrame().show();
    }
   
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private com.toedter.calendar.JCalendar jCalendar1;
    private javax.swing.JPanel jPanel1;

    // End of variables declaration//GEN-END:variables
   
}


hvilket ikke er meget... Hvor skal jeg fyre det getTime() hen hvís jeg vil ha det ud hver gang en bruger trykker på calenderen ?

NZC
Avatar billede arne_v Ekspert
21. oktober 2003 - 18:57 #3
Umiddelbart vil jeg tror at du skal kalde addPropertyChangeListener
og så lade den kalde din kode når det ændrer sig.
Avatar billede nzc Nybegynder
21. oktober 2003 - 19:03 #4
ehrm ka du gi et eksempel plz ?! :)
Avatar billede nzc Nybegynder
21. oktober 2003 - 19:05 #5
private void jCalendar1PropertyChange(java.beans.PropertyChangeEvent evt) {
        System.out.println(jCalendar1.getCalendar().getTime());
    }
Avatar billede nzc Nybegynder
21. oktober 2003 - 19:06 #6
sårn :D
Avatar billede arne_v Ekspert
21. oktober 2003 - 19:11 #7
Du kalder addPropertyChnageListener metoden på JCalendar objektet med
noget som implementerer PropertYChangeListener interfacet d.v.s. har
en metode:
  public void propertyChange(PropertyChangeEvent evt)
Avatar billede nzc Nybegynder
21. oktober 2003 - 19:12 #8
hmm det ville nu være rart at få 11-10-2003 ud i stedet for

thu nov 11 19:11:29 CEST 2003
Avatar billede arne_v Ekspert
21. oktober 2003 - 19:41 #9
Du kan formatere strengen med SimpleDateFormat !
Avatar billede arne_v Ekspert
21. oktober 2003 - 19:42 #10
DateFormat df = new SimpleDateFormat("dd-MM-yyyy");

og:

System.out.println(df.format(jCalendar1.getCalendar().getTime()));
Avatar billede nzc Nybegynder
21. oktober 2003 - 20:42 #11
YAY :D

Mange tark arne_v
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester