Foro de elhacker.net

Programación => Java => Mensaje iniciado por: joseprad en 13 Noviembre 2016, 20:07 pm



Título: Visualizar JCalendar en Eclipse.
Publicado por: joseprad en 13 Noviembre 2016, 20:07 pm
Hola a todos.
No hace mucho que estoy programando en Java y utilizo Eclipse con la paleta de componentes para el diseño de la interfaz.

He creado una clase JPanel con varios JTextField y dos JCalendar.
Al llamar esta clase y añadirla a un JFrame, los JCalendar no aparecen. Adjunto dos trozos de codigo por si pueden ayudarme.

   
Código
  1. public PanelAvisNou() {
  2.  
  3. setLayout(null);
  4.  
  5. JLabel lblLlocDeTreball = new JLabel("Lloc de treball");
  6. lblLlocDeTreball.setHorizontalAlignment(SwingConstants.RIGHT);
  7. lblLlocDeTreball.setBounds(35, 26, 95, 14);
  8. add(lblLlocDeTreball);
  9.  
  10. edtLlocTraball = new JTextField();
  11. edtLlocTraball.setForeground(Color.BLACK);
  12. edtLlocTraball.setBounds(140, 23, 289, 20);
  13. edtLlocTraball.setBorder(new LineBorder(Color.CYAN));
  14. add(edtLlocTraball);
  15. edtLlocTraball.setColumns(10);
  16.  
  17. JLabel lblNumeroAvis = new JLabel("Numero avis");
  18. lblNumeroAvis.setHorizontalAlignment(SwingConstants.RIGHT);
  19. lblNumeroAvis.setBounds(439, 26, 95, 14);
  20. add(lblNumeroAvis);
  21.  
  22. edtNumero = new JTextField();
  23. edtNumero.setBounds(544, 23, 86, 20);
  24. edtNumero.setBorder(new LineBorder(Color.CYAN));
  25. add(edtNumero);
  26. edtNumero.setColumns(10);
  27.  
  28. JDateChooser edtDataDemanada = new JDateChooser();
  29. edtDataDemanada.setBounds(140, 118, 95, 20);
  30. edtContactar.setBorder(new LineBorder(Color.CYAN));
  31. add(edtDataDemanada);
  32.  
  33. JTextArea edtDescripcio = new JTextArea();
  34. edtDescripcio.setBounds(140, 142, 366, 114);
  35. edtDescripcio.setBorder(new LineBorder(Color.CYAN));
  36. add(edtDescripcio);
  37.  
  38. JDateChooser edtData = new JDateChooser();
  39. edtData.setDateFormatString("dd/mm/yyyy");
  40. edtData.setBounds(544, 47, 95, 20);
  41. edtData.setBorder(new LineBorder(Color.CYAN));
  42. add(edtData);

El codigo para llamar a la clase es:
Código
  1. public void panelAvis() {
  2. PanelAvisNou pAvisNou = new PanelAvisNou();
  3. pAvisNou.setBounds(5, 140, 700, 300);
  4. contenidor.add(pAvisNou);
  5. contenidor.repaint();
  6. }

Muchas gracias



Hola.

Yo mismo me contesto.

Bastaba con completar con el siguiente codigo despues de :

Código
  1.      contenidor.add(pAvisNou);
  2. poner :
  3.       contenidor.repaint();
  4.       contenidor.validate();

MOD: No hacer doble post. Etiquetas GeSHi.