Resolvi fazer um aqui que serve às minhas necessidades.
Pra quem se interessar, está anexo o projeto do NetBeans.
Utilizei o NetBeans 7.0.1 com o JDK 7.0. Caso eteja usando uma versão do Java antes da 7, substitua a classe JCalendar do projeto pela abaixo também disponibilizada.
Cara, muito legal o componente. Adiciona só esse construtor padrão ai.
public CalendarComboBox(){
this(true);
}
Dessa forma, ele vai exibir a data atual por padrão. XD
Valeu.
deufabricio
AHHHHHHHHHHH
cara muito obrigado mesmo pela forca
isso mesmo que eu precisava
deufabricio
Sou novo no mundo java!
A muito tempo procuro um calendario desse tipo.
mais a minha duvida e:
vi q vc seta um data, tem como eu pega esse data selecionada e joga no banco (postegre) para fazer uma consulta de tarefas
realizadas nesse dia?
e como faco isso?
Obrigado
sergio.danilo
Eu uso um look and feel na minha aplicação diferente do que vc usa na sua. Dai deu problema na hora de abrir o calendario, estou usando o look and feel Nimbus.
Voce tem a solução pra isso?
lina
Oi,
Parabéns pelo componente.
Só uma dica: Procure sempre comentar sua codificação.
Fiz um componente parecido com o seu e utilizei como pesquisa, este link:
Você poderá melhorar ou modifica-lo nas próximas versões! o que acha?
Tchauzin!
T
thiagow1
Muito bom cara
Parabéns, já fazia tempo q eu tava procurando hum
Vlw!!!
welitonjose
cara show de bola isso q eu qria
vlw
antonioni.rocha
Cara, muito legal o componente. Adiciona só esse construtor padrão ai.
public CalendarComboBox(){
this(true);
}
Dessa forma, ele vai exibir a data atual por padrão. XD
Valeu.
De fato
Sou novo no mundo java!
A muito tempo procuro um calendario desse tipo.
mais a minha duvida e:
vi q vc seta um data, tem como eu pega esse data selecionada e joga no banco (postegre) para fazer uma consulta de tarefas
realizadas nesse dia?
e como faco isso?
Obrigado
No frame de teste veja o evento dos botões, os métodos getSelectedItem() e setSelectedItem() foram sobrescritos para fornecer e receber um GregorianCalendar õO
Eu uso um look and feel na minha aplicação diferente do que vc usa na sua. Dai deu problema na hora de abrir o calendario, estou usando o look and feel Nimbus.
Voce tem a solução pra isso?
Pelo que vi o tema do Nimbus no Java 6 tem alguns problemas com JComboBox e JTable, esvou vendo se dá pra consertar o problema aqui enquanto não chega o Java 7 :?
Oi,
Parabéns pelo componente.
Só uma dica: Procure sempre comentar sua codificação.
Fiz um componente parecido com o seu e utilizei como pesquisa, este link: http://www.java2s.com/Code/Java/Swing-Components/JavaDateChooserComboBox.htm
Você poderá melhorar ou modifica-lo nas próximas versões! o que acha?
Tchauzin!
Legal o site, vou estudá-los…
Tirei umas redundâncias de código, falta comentá-lo ainda:
M
marcobiscaro2112
Realmente muito bom. Quanto à documentação, pretende que seja em inglês ou em português mesmo?
Marky.Vasconcelos
Eu não cheguei a baixar ainda, mas uma duvida ele é uma pop-up que abre com um evento ou ele sempre ocupa todo esse espaço que mostra na 1° foto?
antonioni.rocha
Inglês.
Só o popup mesmo, o frame da imagem é um container pra testes. =]
leo.alvesneuwald
Muito bom cara, parabéns =]
Carlos_ds_jar
Excelente trabalho, vou usar!
rodrigoaramburu
antonioni.rocha
Bem legal o componente mas tive um erro quando tentei criar com new CalendarComboBox(false) deu o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(String.java:1934)
at comp.CalendarComboBox.getSelectedItem(CalendarComboBox.java:657)
at javax.swing.plaf.basic.BasicComboBoxUI.configureEditor(BasicComboBoxUI.java:769)
at javax.swing.plaf.metal.MetalComboBoxUI.configureEditor(MetalComboBoxUI.java:297)
at javax.swing.plaf.basic.BasicComboBoxUI.addEditor(BasicComboBoxUI.java:718)
at javax.swing.plaf.basic.BasicComboBoxUI$Handler.propertyChange(BasicComboBoxUI.java:1668)
at javax.swing.plaf.basic.BasicComboBoxUI$PropertyChangeHandler.propertyChange(BasicComboBoxUI.java:617)
at javax.swing.plaf.metal.MetalComboBoxUI$MetalPropertyChangeListener.propertyChange(MetalComboBoxUI.java:191)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:318)
at java.awt.Component.firePropertyChange(Component.java:8148)
at javax.swing.JComponent.firePropertyChange(JComponent.java:4440)
at javax.swing.JComboBox.setEditable(JComboBox.java:382)
at comp.CalendarComboBox.<init>(CalendarComboBox.java:83)
Eu uso um look and feel na minha aplicação diferente do que vc usa na sua. Dai deu problema na hora de abrir o calendario, estou usando o look and feel Nimbus.
Voce tem a solução pra isso?
Para mim esta acontecendo o mesmo erro também !!
THIAGOANALISTA
como fazer para jogar a data selecionada para outro campo?
POr exemplo:
– combo calendario
– JTextField Datanascimento
Agora pegar a data do combo e jogar na DataNascimento
vi-gb
Muito bom este componente!
Estava tentando colocar spinner para hora e minuto nele para ficar tipo o do richfaces, conseguiu colocar, configurar o formato mas quando clico nos botoes do spinner ele se comporta como um dia qualquer, creio que estou colocando no lugar errado os spinner. :oops:
Você tem um exemplo com horario? ou saberia o por que deste comportamento?
Eu adicionei os spinners a um panel e o coloquei dentro do weekAndDaysPanel.
Obrigada
InSeOfKn
Muito Bom!!!
Vou usar no meu projeto!
Mas tenho um comentário
O dia atual fica sempre destacado independente do mês e ano que se coloque
acho uma boa ideia destacar o dia atual mas só se o mês e o ano forem o atual
Agora estou meio com pressa desenvolvendo esse projeto mas assim que eu achar tempo tentarei modificar isso mas vai a dica para as próximas versões XD
Parabéns pelo trabalho!! procurei bastante isso na net e esse foi o mais bonito e eficiente que achei!
até!
Edit:
o teu componente gera um erro quando se chama o construtor com o parâmetro showActualDate como false
abaixo o mensagem de erro exibida pelo eclipse
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(Unknown Source)
at geral.CalendarComboBox.getSelectedItem(CalendarComboBox.java:657)
at javax.swing.plaf.basic.BasicComboBoxUI.configureEditor(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsComboBoxUI.configureEditor(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI.addEditor(Unknown Source)
at javax.swing.plaf.basic.BasicComboBoxUI$Handler.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.awt.Component.firePropertyChange(Unknown Source)
at javax.swing.JComponent.firePropertyChange(Unknown Source)
at javax.swing.JComboBox.setEditable(Unknown Source)
at geral.CalendarComboBox.<init>(CalendarComboBox.java:83)
at venda.vale.Filtro.getComponentes(Filtro.java:53)
at venda.vale.Filtro.inicializa(Filtro.java:30)
at venda.vale.Filtro.<init>(Filtro.java:26)
at venda.vale.Ver.getPFilter(Ver.java:62)
at venda.vale.Ver.inicia(Ver.java:56)
at venda.vale.Ver.<init>(Ver.java:49)
at venda.Teste.main(Teste.java:28)
deufabricio
Depois te muito tempo vendo essa tranqueias todas , resolvi mostra algo de verdade!
QOOXDOO, isso sim vai revolucionar o web
vfpribeiro
Parabéns companheiro… Muito bom
carlos.e.a
Nunca é demais dizer: Parabens!
Era exatamente o que eu precisava! Muito bom!
antonioni.rocha
Depois de um tempo, atualizei corrigindo os problemas que postaram aqui, estou postando uma nova versão (27/08/11).
Os construtores estão ok, e testei nos cinco L&F (Windows, Metal, Nimbus, Gtk e Motif), basta analisar o projeto como exemplo.
Utilizei o NetBeans 7.0.1 com o JDK 7.0.
maurijava
Veio,
Ta dando um erro aqui em um import, segue o trecho…
importjavax.swing.plaf.synth.SynthComboBoxUI;
Dá o seguinte erro: Cannot be accessed from outside packege…
Por que deu esse erro???
To precisando disso com urgência!!!
Vlw,
Maurijava
maurijava
Ah!
Antes que eu me esqueça…
Estou usando JDK 6, será que é isso???
No aguardo,
Maurijava
antonioni.rocha
maurijava:
Ah!
Antes que eu me esqueça…
Estou usando JDK 6, será que é isso???
No aguardo,
Maurijava
É, esta classe existe só na versão 7. Para a 6 e anteriores use a classe (que usa a classe BasicComboBoxUI) que anexei.
agune
antonioni.rocha:
Resolvi fazer um aqui que serve às minhas necessidades.
Pra quem se interessar, está anexo o projeto do NetBeans.
Utilizei o NetBeans 7.0.1 com o JDK 7.0.
Granda exemplo. Thank u
M
maryrose
Muito bom o seu aplicativo.
mateusviccari
só tem um bug nesse componente:
quando o usuario digita o ano incompleto, por ex: 24/12/201_ e tira o foco do componente, ele lança um null pointer exception.
antonioni.rocha
mateusviccari:
só tem um bug nesse componente:
quando o usuario digita o ano incompleto, por ex: 24/12/201_ e tira o foco do componente, ele lança um null pointer exception.
Verdade, está corrigido, veja no download do primeiro post…
mateusviccari
Tomei liberdade de modificar um pouco o componente, adicionei 2 métodos pra setar e pegar direto objetos do tipo Date, ficando bem mais pratico pra quem trabalha com java beans e persistencia.
Os métodos são getDate() e setDate(Date date).
Segue em anexo.
B
birak
Oi pessoal,
sou novo em Java e fiquei com uma duvida sobre esse calendario… seguinte… o calendario só aparece quando eu clico no combobox…como eu faço para o calendario já iniciar aberto… tipo…em vez de ter que clicar no combobox para ele abrir… ele já fique aberto na tela…
grato pela atenção
carvalhoromulo
Amigos como eu faço para inserir a data
usando o método setSelectedItem
Obs. estou usando o exemplo.
String data = "21/12/2012";
ccb.setSelectedItem(data);
Obrigado!
mateusviccari
carvalhoromulo:
Amigos como eu faço para inserir a data
usando o método setSelectedItem
Obs. estou usando o exemplo.
String data = "21/12/2012";
ccb.setSelectedItem(data);
Obrigado pela ajuda, mateusviccari
porém ainda não obtive sucesso.
tentei fazer da seguinte forma:
try{Dated=null;Stringdata="21/12/2012";d=newSimpleDateFormat("dd/MM/yyyy").parse(data);JOptionPane.showMessageDialog(null,"a data é "+d);ccb.setSelectedItem(d);}catch(ParseExceptionex){Logger.getLogger(FrameTeste.class.getName()).log(Level.SEVERE,null,ex);}
estou recebendo o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: invalid date
at comp.JCalendar.setSelectedItem(JCalendar.java:671)
O setSelectedItem faz a seguinte validação:
@OverridepublicvoidsetSelectedItem(ObjectanObject){if(anObject!=null){if(anObjectinstanceofGregorianCalendar){//JOptionPane.showMessageDialog(null,"Entrei no Laço Gregorian Calendar : "+anObject); StringdayText=String.valueOf(((GregorianCalendar)anObject).get(Calendar.DAY_OF_MONTH));StringmonthText=String.valueOf(((GregorianCalendar)anObject).get(Calendar.MONTH));StringyearText=String.valueOf(((GregorianCalendar)anObject).get(Calendar.YEAR));formattedTextField.setValue(dayText+"/"+monthText+"/"+yearText);}else{//JOptionPane.showMessageDialog(null,"Entrei no Laço do Gregorian Calendar: "+anObject);super.setSelectedItem(null);thrownewIllegalArgumentException("invalid date");}}else{if(showActualDate){formattedTextField.setValue(getTime());}else{formattedTextField.setValue("");}}super.setSelectedItem(null);}
mateusviccari
ops desculpe, é que o componente que eu uso aqui mechi um pouco pra trabalhar com objetos do tipo Date, já esse que voce esta usando nao aceita, então voce teria que passar um objeto do tipo GregorianCalendar no metodo setSelectedItem, então voce tem que fazer assim:
Dated=null;Stringdata="21/12/2012";d=newSimpleDateFormat("dd/MM/yyyy").parse(data);JOptionPane.showMessageDialog(null,"a data é "+d);GregorianCalendargc=newGregorianCalendar();gc.setTime(d);ccb.setSelectedItem(gc);
carvalhoromulo
Obrigado mateusviccari, agora funcionou 100%
Agora vou tentar fazer a validação das datas
MUiiiiiiiiiiiiito Obrigado!
mateusviccari
q bom que funcionou, uma dica pra ficar mais pratico, dentro dessa classe do componente adicione esse método:
Assim voce nao precisa ficar criando GregorianCalendar toda vez que quiser setar uma data no componente, basta chamar o método setDate ao invés do setSelectedItem, passando um objeto do tipo Date como parametro.
carvalhoromulo
Mateusviccari agora ficou ótimo na verdade utilizei a sua classe.
pois quando a que eu estava usando o mês não esta funcionando.
o que ocorria é que eu mandava adicionar o mês 12, e no componente era adicionando o 11.
estou disponibilizando o projeto para download pois se alguém tiver mais dúvidas. acredito que sera útil.
pois conta com um exemplo de utilização. basico!
Está ocorrendo este erro ao importar import javax.swing.plaf.synth.SynthComboBoxUI;
Alguém pode ajudar?
carvalhoromulo
Thiago,
Já tentou rodar o projeto que eu coloquei p/ download?
THIAGOANALISTA
Sim, fiz o download e está ocorrendo este erro.
carvalhoromulo
cara, eu baixei o projeto aki e abri normal,
estou usando o NetBeans IDE 7.2.1
:?
V
vitor_felipe29
Pessoal como poderia fazer pra que quando seleciona-se a data ele faria uma Jlist ficar visible e mostrando as tarefas daquele dia? E o mesmo como faria pra cadastrar essas informações…
rafaelshock
Galera estou com uma duvida em uma coisa… na hora de setar o exemplo ai em cima como eu faço???
cliente.setData_nascimento(ccbdatanasc.???????????()); // set o que?