PDA

Visualizza la versione completa : calendario in JAVA


FedeF79
06-11-2004, 13:52
Qualcuno sa illuminarmi su come fare un calendario in java che mi consenta di settare la data di un menù a tendina anche tramite il calendario ? molti siti di viaggio ce l'hanno perle prenotazioni ..ma a me serve in Java e nn in JavaScript !

Grazie mille... :dhò:

unomichisiada
06-11-2004, 14:11
Originariamente inviato da FedeF79
Qualcuno sa illuminarmi su come fare un calendario in java che mi consenta di settare la data di un menù a tendina anche tramite il calendario ? molti siti di viaggio ce l'hanno perle prenotazioni ..ma a me serve in Java e nn in JavaScript !

Grazie mille... :dhò:
A meno che tu non abbia proprio intenzione di scrivertelo personalmente per motivi didattici,allora il discorso cambia...

unomichisiada
06-11-2004, 14:14
Scusa per il post precedente è un errore.
Io sto usando un ottimo javabean di nome JCalendar con licenza LGPL (cioè lo puoi usare in applicazioni closed source senza pagare alcunchè e senza pubblicare i sorgenti della tua applicazione), lo trovi quì (www.toedter.com), a meno che tu per motivi didattici non te lo voglia proprio scrivere di persona,alche il discorso cambia...

FedeF79
06-11-2004, 14:23
grazie è quello che cercavo !

FedeF79
06-11-2004, 16:29
come devo utilizzare il tutto che ho scaricato ? devo associare il calendario ad un menu..come devo fare?Non so bene cose devo fare con il file zip che ho scaricato..come devo utilizzare i file ?

Grazie mille :dhò:

Xadoom
06-11-2004, 16:34
Se usi NetBeans io ricordo che c'è una funzione per incorporare comodamente il JavaBean nell'editor e poterlo usare come un qualsiasi altro componente...credo anche altri IDe possano farlo, altrimenti devi inserire i file JAR che trovi nella directory jsdkXXX\jre\lib\ext e a quel punto puoi usare tutti i componenti compresi nei package...ci sarà un qualche tipo di documentazione nel file sacricato no?
:ciauz:

unomichisiada
06-11-2004, 20:05
come devo utilizzare il tutto che ho scaricato ? devo associare il calendario ad un menu..come devo fare?Non so bene cose devo fare con il file zip che ho scaricato..come devo utilizzare i file ?
Lo zip che hai scaricato dovrebbe contenere un esempio di utilizzo,e comunque ti sonsiglio caldamente di scaricarti tutta la documentazione che trovi su quel sito e di leggertela.Se ho un po di tempo oggi o domani ti posto un piccolo esempio ok?Non ti garantisco celerità nel farlo ma prometto che lo faccio,ciao

unomichisiada
06-11-2004, 20:53
Toh!!!Ciao

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.text.DateFormat;
import com.toedter.calendar.JCalendar;



//ovviamente devi includere il jar JCalendar.jar nel claspath altrimenti
//nulla funzionerà.
public class ProvaFrame extends JFrame implements ActionListener,PropertyChangeListener
{
private ProvaFrame mainFrame;
private JDialog myDialog;
private JButton showButt;
private JCalendar calendarPanel ;
private Calendar calendar;
private JTextField dateField;

public ProvaFrame()
{
//crea il box di testo che conterrà la data scela
dateField = new JTextField(10);

//aggiunge il box al frame
getContentPane().add(dateField);

//crea un GregorianCalendar (che non è un JCalendar)
calendar = Calendar.getInstance();

//crea il bottone che mostra il calendario
showButt = new JButton("mostra calendario");

//imposrta il layout del content pane a flowlayout
getContentPane().setLayout(new FlowLayout());

//aggiunge il bottone al frame
getContentPane().add(showButt);

//associa il frame comne ascoltatore di eventi del bottone
showButt.addActionListener(this);


//crea un dialogo modale (terzo paramentro = true) con
//finestra genitore = il frame dell'applicazione e titolo "Scegli la data"
myDialog = new JDialog(this,"Scegli la data",true);

//il dialogo viene mostrato centrato rispetto al frame
myDialog.setLocationRelativeTo(this);

//impostazione del layout del dialogo
myDialog.getContentPane().setLayout(new BorderLayout());

//creazine del calendario
calendarPanel = new JCalendar();

//associa il frame comne ascoltatore di "eventi"
//(o meglio di modifiche delle properties) del calendario
calendarPanel.addPropertyChangeListener(this);

//aggiunta del calendario al dialogo
myDialog.getContentPane().add(calendarPanel, BorderLayout.CENTER);
//compatta il dialogo in base alla dimensione dei pulsanti del calendario
myDialog.pack();
}
public static void main(String [] args)
{
//crea il frame dell'applicazione
ProvaFrame frame = new ProvaFrame();
final int iInset = 50;

//imposta le dimensioni della finestra in base allo schermo
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds ( iInset, iInset, screenSize.width - iInset*2,
screenSize.height - iInset*2 );
//mostra il frame dell'applicazione
frame.setVisible(true);
}


//mostra il dialogo contenente il calendario
//in seguito alla pressione del bottone
public void actionPerformed(ActionEvent e)
{
myDialog.setVisible(true);
}
public void propertyChange(PropertyChangeEvent evt)
{
//ser il calendario è stato istanziato
if (calendarPanel != null)
{
if (evt.getPropertyName().equals("calendar"))
{
//ottiene un riferimento all'oggetto sorgente dell'evento
//cioè il Calendar (inteso come componente fornito dalla JDK
//non come JCalendar,che è il nostro bean) gestito dal bean
calendar = (Calendar) evt.getNewValue();

//oggetto formattatore della data secondo il locale corrente
//(cioè ti scrive i giorni in italiano)
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG,
calendarPanel.getLocale());

//formattazione del valore secondo il formato precedentemente accennato
String date = df.format(calendar.getTime());

//imposta il ox di testo con il nuovo valore
dateField.setText(date);
}
}
}

}

FedeF79
07-11-2004, 13:11
grazie , sei statoveramente gentilissimo!Ora lo provo e vedo come va ..se ho problemi sicuramente ti 'scoccerò' di nuovo ;-)
Per ora ho tutto e studierò la documentazione ... :ciauz: :ciauz:

FedeF79
07-11-2004, 18:45
Mi da un errore.. dice che non riesce a trovare glioggetto COM..c redo! mi piechìghi bene come devoregistrare la variabile d'ambiente CLASPATH ?

grazie 1000 :ciauz:

Loading