1 32 33 package it.businesslogic.ireport.gui.prompt; 34 35 import it.businesslogic.ireport.util.I18n; 36 import it.businesslogic.ireport.util.LanguageChangedEvent; 37 import it.businesslogic.ireport.util.LanguageChangedListener; 38 import java.awt.BorderLayout ; 39 import java.util.GregorianCalendar ; 40 import java.util.Locale ; 41 import javax.swing.SpinnerNumberModel ; 42 43 47 public class JDateTimePicker extends javax.swing.JPanel implements LanguageChangedListener { 48 49 private Locale locale = null; 50 private com.michaelbaranov.microba.calendar.DatePicker datePicker = null; 51 52 53 public JDateTimePicker() { 54 initComponents(); 55 56 jSpinnerH.setModel( new javax.swing.SpinnerNumberModel (0,0,23,1)); 57 jSpinnerM.setModel( new javax.swing.SpinnerNumberModel (0,0,59,1)); 58 jSpinnerS.setModel( new javax.swing.SpinnerNumberModel (0,0,59,1)); 59 60 datePicker = new com.michaelbaranov.microba.calendar.DatePicker(); 61 jPanel1.add(datePicker, BorderLayout.CENTER); 62 setLocale( I18n.getCurrentLocale() ); 63 setDate(new java.util.Date ()); 64 65 it.businesslogic.ireport.util.I18n.addOnLanguageChangedListener(this); 66 applyI18n(); 67 } 68 69 70 public void setLocale(Locale locale) { 71 this.locale = locale; 72 datePicker.setLocale(locale ); 73 } 74 75 public Locale getLocale() { 76 return locale; 77 } 78 79 public void setDate(java.util.Date d) 80 { 81 if (d == null) return; 82 GregorianCalendar gc = null; 83 84 if (getLocale() != null) 85 gc = new GregorianCalendar (getLocale()); 86 else 87 gc = new GregorianCalendar (); 88 89 gc.setTime( d ); 90 91 jSpinnerH.setValue( new Integer (gc.get( gc.HOUR_OF_DAY)) ); 92 jSpinnerM.setValue( new Integer (gc.get( gc.MINUTE)) ); 93 jSpinnerS.setValue( new Integer (gc.get( gc.SECOND)) ); 94 try { 95 datePicker.setDate( d ); 96 } catch (Exception ex) 97 { 98 99 } 100 } 101 102 public java.util.Date getDate() 103 { 104 if (datePicker.getDate() == null) return null; 105 GregorianCalendar gc = new GregorianCalendar (); 106 gc.setTime( datePicker.getDate() ); 107 gc.set( gc.HOUR_OF_DAY, ((SpinnerNumberModel )jSpinnerH.getModel()).getNumber().intValue() ); 108 gc.set( gc.MINUTE, ((SpinnerNumberModel )jSpinnerM.getModel()).getNumber().intValue()); 109 gc.set( gc.MINUTE, ((SpinnerNumberModel )jSpinnerS.getModel()).getNumber().intValue() ); 110 111 return gc.getTime(); 112 } 113 114 public void languageChanged(LanguageChangedEvent evt) { 115 applyI18n(); 116 } 117 118 public void applyI18n() { 119 jLabelMin.setText(I18n.getString("jDateTimePicker.labelMin",":")); 121 jLabelSec.setText(I18n.getString("jDateTimePicker.labelSec",":")); 122 jLabelH.setText(it.businesslogic.ireport.util.I18n.getString("time_picker", "Time")); 124 } 125 126 127 132 private void initComponents() { 134 java.awt.GridBagConstraints gridBagConstraints; 135 136 jPanel1 = new javax.swing.JPanel (); 137 jLabelH = new javax.swing.JLabel (); 138 jSpinnerH = new javax.swing.JSpinner (); 139 jLabelMin = new javax.swing.JLabel (); 140 jSpinnerM = new javax.swing.JSpinner (); 141 jLabelSec = new javax.swing.JLabel (); 142 jSpinnerS = new javax.swing.JSpinner (); 143 144 setLayout(new java.awt.GridBagLayout ()); 145 146 setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); 147 jPanel1.setLayout(new java.awt.BorderLayout ()); 148 149 jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); 150 gridBagConstraints = new java.awt.GridBagConstraints (); 151 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 152 gridBagConstraints.weightx = 1.0; 153 gridBagConstraints.weighty = 1.0; 154 gridBagConstraints.insets = new java.awt.Insets (0, 0, 0, 4); 155 add(jPanel1, gridBagConstraints); 156 157 jLabelH.setText("Time"); 158 gridBagConstraints = new java.awt.GridBagConstraints (); 159 gridBagConstraints.insets = new java.awt.Insets (0, 0, 0, 2); 160 add(jLabelH, gridBagConstraints); 161 162 jSpinnerH.setMinimumSize(new java.awt.Dimension (35, 18)); 163 jSpinnerH.setPreferredSize(new java.awt.Dimension (35, 18)); 164 add(jSpinnerH, new java.awt.GridBagConstraints ()); 165 166 jLabelMin.setText(":"); 167 gridBagConstraints = new java.awt.GridBagConstraints (); 168 gridBagConstraints.insets = new java.awt.Insets (0, 2, 0, 2); 169 add(jLabelMin, gridBagConstraints); 170 171 jSpinnerM.setMinimumSize(new java.awt.Dimension (35, 18)); 172 jSpinnerM.setPreferredSize(new java.awt.Dimension (35, 18)); 173 add(jSpinnerM, new java.awt.GridBagConstraints ()); 174 175 jLabelSec.setText(":"); 176 gridBagConstraints = new java.awt.GridBagConstraints (); 177 gridBagConstraints.insets = new java.awt.Insets (0, 2, 0, 2); 178 add(jLabelSec, gridBagConstraints); 179 180 jSpinnerS.setMinimumSize(new java.awt.Dimension (35, 18)); 181 jSpinnerS.setPreferredSize(new java.awt.Dimension (35, 18)); 182 add(jSpinnerS, new java.awt.GridBagConstraints ()); 183 184 } 186 187 188 private javax.swing.JLabel jLabelH; 191 private javax.swing.JLabel jLabelMin; 192 private javax.swing.JLabel jLabelSec; 193 private javax.swing.JPanel jPanel1; 194 private javax.swing.JSpinner jSpinnerH; 195 private javax.swing.JSpinner jSpinnerM; 196 private javax.swing.JSpinner jSpinnerS; 197 199 } 200 | Popular Tags |