não sei se é possivel,por exemplo, em MySQL no navicat quando você clica no campo para inserir um dado
que é de formato date, ele aparece um calendario e você escolhe a data,
é possivel fazer isso em java, na hora que clica no JTextField aparecer um calendario para
eu escolher a data, se tiver como alguem pode me ajudar,
vou te explicar entao, tem um programa pra imprimir recibo ai a data tem q ir no recibo, mas isso eu cadastro o recibo com nome da pessoa, a data, valor etc,
entao onde estou digitando a data, qeria colocar esse calendar, o q vc me sugeria?? pq como falei lah em cima, tava pensando em fazer tipo no navicat qdo vc clica no campo date aparece um calendario entendeu.
cara é como eu te falei, o jcalendar é um componente swing completo, vc coloca ele no seu jframe ou jdialog da mesma forma q vc coloca o jtextfield, jlabel ou qualquer outro componente swing.
O componente vai exibir o calendario para o usuario selecionar a data que deseja.
A unica coisa q vc precisa fazer é colocar o jar no seu projeto e declarar ele no classpath do seu projeto, nada diferente de qualquer outro jar q vc tenha adicionado a sua aplicação.
agora o tipo ele começa a semana na segunda-feira, teria como colocar pra começar domingo???
e outra coisa tipo eu coloco ano, mes e dia, como dps eu faço para pegar esse informações???
Edit: jah ouviu fala do JDateChooser, axo q eh do JCalendar tbm, mesmo design do JCalendar, mas meu problema, eh pega as informações para jogar no banco de dados, e tentar colocar a semana pra começar no domingo.
Edit2:conseguiu pega a date com o getDate() e jah formatado, problema q pega a data de hoje e eu qero a data selecionada.
Para começar em algum dia especifico vc pode setar manualmente a data com setDate(dataDesejada).
A data do jcalendar vc pega atraves do getDate() e a data atual vc pode passar um new Date() onde vc precisa a data atual.
olha, tipo assim, cadastro funcionario ai tem a data nascimento, qdo eu faço o getDate() ele pega o dia de hoje e naum pega a data selecionada no Calendar, e começa eu soh qeria q a semana começaca no domingo, aki ele tah seg-ter-qua-qui-sex-sab-dom
[quote=CuRu10]não sei se é possivel,por exemplo, em MySQL no navicat quando você clica no campo para inserir um dado
que é de formato date, ele aparece um calendario e você escolhe a data,
é possivel fazer isso em java, na hora que clica no JTextField aparecer um calendario para
eu escolher a data, se tiver como alguem pode me ajudar, [/quote]
[color=darkblue] Usei o código a um tempo atrás é só usar “extends” : [/color]
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import com.SwingCalendar.CalendarEvent;
import com.SwingCalendar.CalendarListener;
import com.SwingCalendar.myCalendar;
public class DateLabel extends JPanel implements MouseListener {
/**
*
*/
private static final long serialVersionUID = 4802863238724616153L;
private JDialog frameCalendario = null;
private myCalendar data = null;
private JTextField txtData = null;
private SimpleDateFormat sdf = null;
private JButton btn = null;
private JLabel lbl = null;
public DateLabel(String name, boolean editable, int size){
GregorianCalendar gc = new GregorianCalendar();
sdf = new SimpleDateFormat("dd/MM/yyyy");
frameCalendario = new JDialog();
lbl = new JLabel(name, JLabel.LEFT);
txtData = new JTextField(size);
txtData.setEditable(editable);
txtData.setBackground(Color.WHITE);
data = new myCalendar();
data.setDate(gc.getTime());
frameCalendario.getContentPane().add(data);
data.addCalendarListener(new CalendarListener() {
public void calendarChanged(CalendarEvent e) {
txtData.setText(sdf.format(e.getDate()));
}
});
data.addMouseListener(this);
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
add(lbl);
add(txtData);
btn = new JButton("...");
btn.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!frameCalendario.isVisible() && !frameCalendario.isModal()){
frameCalendario.setUndecorated(true);
frameCalendario.setModal(true);
frameCalendario.setLocationRelativeTo(btn);
frameCalendario.pack();
frameCalendario.setVisible(true);
}else{
frameCalendario.setEnabled(true);
frameCalendario.show();
}
}
}
);
Dimension d = txtData.getSize();
btn.setMargin(new Insets(0, 0, 0, 0));
d.width = btn.getPreferredSize().width;
btn.setPreferredSize(d);
add(btn);
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
frameCalendario.setVisible(false);
System.out.println("Visible == true");
}
public String getText(){
return txtData.getText();
}
public static void main(String[] args) {
JFrame frame = new JFrame("Calendário");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
myDateAndLabel hc = new myDateAndLabel("Data", true, 10);
frame.getContentPane().add(hc);
frame.pack();
frame.setVisible(true);
}
}