Java 当框架在Swing中加载时,如何在JDateChooser上设置焦点?

Java 当框架在Swing中加载时,如何在JDateChooser上设置焦点?,java,swing,jdatechooser,Java,Swing,Jdatechooser,how could I check THAT date Enterd by user in date format in JFormattedTextField...please help IN KEY PRESSED EVENT my code is here 加载帧时如何在日期选择器上显示焦点 how could I check THAT date Enterd by user in date format in JFormattedTextField...

     how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT

       my code is here
加载帧时如何在日期选择器上显示焦点

     how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT

       my code is here
  • 如何验证用户只能输入日期和格式的文本字段
  • 如何在swing中设置jdatechooser图标的焦点 代码

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    源代码

    public class welcome extends javax.swing.JFrame {
    
        public static final String DATE_FORMAT_NOW = "dd/MMM/YYYY ";
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
        Date date = new Date();
    
    
    
        /**
         * Creates new form welcome
         */
        public welcome() {
            initComponents();
    
    
    
             sdf.setLenient(false);
    
             String dt = sdf.format(cal.getTime());
             System.out.println(dt);
    
    
                try  
                {  
                    date = sdf.parse(dt); 
                     System.out.println(date);
                }  
                catch(ParseException pe)  
                {  
                    System.out.println("pe: " + pe.getMessage());  
                    Toolkit.getDefaultToolkit().beep();  
                }  
                jLabel3.setText(dt);
                jTextField1.setText(dt);
         }
    
    private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {                                       
            // TODO add your handling code here:
       //   System.out.println("guihgio");
          if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
    
                System.out.println("enter press key");
    
    
                  this code is not working//
    
          char c = evt.getKeyChar();
          if (!((c >= '0') && (c <= '9') ||
             (c == KeyEvent.VK_BACK_SPACE) ||
             (c == KeyEvent.VK_DELETE) || (c == KeyEvent.VK_SLASH)))        
          {
    
               JOptionPane.showMessageDialog(null, "Please Enter Valid");
               evt.consume();
          }
      }
    
         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    私有void jSpinner1StateChanged(javax.swing.event.ChangeEvent evt){
    //TODO在此处添加您的处理代码: System.out.println(“gijjhbip”); System.out.println(“Source:+evt.getSource()); }

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    私有void jFormattedTextField1KeyPressed(java.awt.event.KeyEvent evt){
    //TODO在此处添加您的处理代码:

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
        System.out.println(evt.getKeyChar());
    
       if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
    
           Date date = (Date) evt.getSource();
          if(!(date.equals(format)))
          {
              evt.consume();
          }
       }
    

    我不知道你用的是什么图书馆,但为什么不试试这个呢

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    第一个问题: 您可以使用JFormattedTextField,JTextField的实例

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    
    
        DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        DateFormatter formatter = new DateFormatter(format);  
        format.setLenient(false);  
        formatter.setAllowsInvalid(false);  
        formatter.setOverwriteMode(true);  
        JFormattedTextField formattedTextField = new JFormattedTextField(formatter);
        formattedTextField.setValue(new Date());
        formattedTextField.addKeyListener(new KeyAdapter() {
    
            @Override
            public void keyPressed(KeyEvent evt) {
                //System.out.println(evt.getKeyChar());
                //TODO
            }
        });
    
    第二个问题: getFocuse的唯一方法是更改JDateChoose的源代码; 因为源代码是

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    
    
        protected JButton calendarButton;
        ...
        calendarButton = new JButton(icon) {
    
            public boolean isFocusable() {
                return false;
            }
        };
    
    
    “如何验证用户只能输入日期和格式的文本字段?”

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    IMHO获取用户输入的日期是一个坏主意。验证输入将成为一个头痛的问题,对程序来说效率低下,因为用户可以输入任何字符组合。相反,您可以使用
    JSpinner
    使用
    DateListModel

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    public static void main(String[] args) {
        Date date = new Date();
        JSpinner spinner = new JSpinner();
        spinner.setModel(new SpinnerDateModel(date, null, null, Calendar.DAY_OF_WEEK));
        JOptionPane.showConfirmDialog(null, spinner, "Spinner:"
                ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
    
    }
    
    见|

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    

    但话说回来,为什么还要允许输入今天的日期呢?除了从用户那里获取输入之外,可以通过多种方式检索数据

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    

    如果您真的坚持按自己的方式输入文本字段并希望进行验证,则始终可以捕获
    ParseException
    。但在这种情况下,您需要向用户指定需要输入的格式,并在用户输入的格式不正确或不正确时发出某种通知真正的约会

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    SimpleDateFormat formatter = new SimplDateFormat(DATE_FORMAT_NOW);
    String dateString = textField.getText();
    Date date;
    try {
        date = formatter.parse(dateString);
    } catch (ParseException) {
        statusLabel.setText("Please enter a valid date");
        // or JOptionPane.showMessageDialog(null, "Please Enter a valid Date");
    }
    
    但同样的问题是,用户可以输入一个随机日期,如2102中的某个日期。因此,我建议使用
    JSpinner
    或不可编辑的文本字段,只显示今天的日期

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    

    更新试试这个

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    导入java.util.Date; 导入java.text.simpleDataFormat; 导入javax.swing.*

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    public class SpinnerDateTest {
    
        public static void main(String[] args) {
            Date date = new Date();
            JSpinner spinner = new JSpinner();
            SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM//yyyy");
            String dateString = formatter.format(date);
            spinner.setModel(new SpinnerListModel(new String[]{dateString}));
            JOptionPane.showConfirmDialog(null, spinner, "Spinner:"
                    ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
    
        }
    }
    
    或者使用
    SpinnerDateModel

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    public static void main(String[] args) {
        Date date = new Date();
        JSpinner spinner = new JSpinner();
        spinner.setModel(new SpinnerDateModel(date, null, null, Calendar.DAY_OF_WEEK));
        JOptionPane.showConfirmDialog(null, spinner, "Spinner:"
                ,JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
    
    }
    

    你可以用它来聚焦

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    jDateChooser.getDateEditor().getUiComponent().requestFocusInWindow();
    
    如果你想控制一些事件

         how could  I check THAT date Enterd by user in date format in JFormattedTextField...please help  IN KEY PRESSED EVENT
    
           my code is here
    
    jDateChooser.getDateEditor().getUiComponent().addKeyListener(new listenerClass());
    

    一旦获得焦点,请求焦点就没有意义了。我应该使用什么事件来单击datechooser图标?我已经尝试过了,但没有成功。请给我发送问题代码如何验证TextField可能这有助于jDateChooser2.requestFocusInWindow();无法专注于日期选择器图标加载框架时,我如何在图标日期选择器上设置foucs有人可以回答第二个问题。我如何验证日期格式的文本字段…如何在JFormattedTextField中检查用户以日期格式输入的日期…请帮助!!!!如果我专注于日期,请解释第二个问题选择器我可以从calenader中选择日期。我可以轻松解决问题。对不起,我从未使用过
    JDateChooser
    ,所以我不知道它是如何工作的。请将SPINNER的当前日期代码发送给我,请将新bie发送给spinnerSpinnerModel snd=新SpinnerDateModel(新日期(),null,null,Calendar.DAY\u OF_MONTH);JSpinner spnDate=new JSpinner(snd);如何添加微调器标签请提供帮助。如果使用NETBAENS添加到SPIINER CALSS OBJ IM错误:未知符号错误。