A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ningshuilian 中级黑马   /  2016-6-2 23:03  /  789 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想让文本框以指定格式输入
就是输入
java.text.SimpleDateFormat date=new java.text.SimpleDateFormat(yyyy-mm-dd);  
date.format(你的日期);  
我想问的是怎么把它应用到PANEL中的一个文本框下?具体点最好写段小代码

1 个回复

正序浏览
  1. package cn.itcast.regedit;

  2. import java.awt.Font;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.text.DateFormat;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8. import java.util.HashSet;

  9. import javax.swing.JButton;
  10. import javax.swing.JComboBox;
  11. import javax.swing.JFrame;
  12. import javax.swing.JLabel;
  13. import javax.swing.JOptionPane;
  14. import javax.swing.JPasswordField;
  15. import javax.swing.JTextField;

  16. import cn.itcast.tools.GUITools;

  17. /*
  18. * 注册页面
  19. */
  20. public class RegistFrame extends JFrame {

  21.         public JLabel registLabel1 = new JLabel("Sign Up"); // 注册标签1
  22.         public JLabel registLabel2 = new JLabel("It's free and always will be."); // 注册标签2
  23.         public JLabel userNameLabel = new JLabel("用户名"); // 用户名标签
  24.         public JTextField userNameField = new JTextField(); // 用户名文本框

  25.         public JLabel passwordLabel = new JLabel("密码"); // 密码标签
  26.         public JPasswordField passwordField = new JPasswordField(); // 密码文本框

  27.         public JLabel rePasswordLabel = new JLabel("重复密码"); // 重复密码标签
  28.         public JPasswordField rePasswordField = new JPasswordField(); // 重复密码文本框

  29.         public JLabel birthdayLabel = new JLabel("出生日期"); // 生日标签
  30.        
  31.         public JComboBox<String> yearField = new JComboBox<String>();  //  年份选择框
  32.         public JComboBox<String> monthField = new JComboBox<String>();  //  月份选择框
  33.         public JComboBox<String> dayField = new JComboBox<String>();  //  日期选择框

  34.        

  35.         public JButton registBtn = new JButton("注\t册");// 注册按钮
  36.         public JButton resetBtn = new JButton("重\t置");// 重置按钮

  37.         HashSet<User> date = new HashSet<User>();
  38.        
  39.         public RegistFrame() {
  40.                 initDate();
  41.                 init(); // 初始化窗口
  42.                 addComponent(); // 添加组件
  43.                 addlistener(); // 事件加载
  44.         }
  45.         private void initDate(){
  46.                 date.add(new User("a","1",new Date()));
  47.                 date.add(new User("b","2",new Date()));
  48.                 date.add(new User("c","3",new Date()));
  49.         }

  50.         // 初始化窗口
  51.         private void init() {
  52.                 setTitle("注册");
  53.                 setSize(600, 360);
  54.                 GUITools.center(this);
  55.         }

  56.         private void addComponent() {
  57.                 // 去除布局
  58.                 setLayout(null);

  59.                 // 添加注册标题
  60.                 registLabel1.setFont(new Font("楷体", Font.BOLD, 20));
  61.                 registLabel1.setBounds(220, 20, 100, 30);
  62.                 this.add(registLabel1);
  63.                 registLabel2.setBounds(185, 50, 200, 20);
  64.                 this.add(registLabel2);

  65.                 // 用户名文本框
  66.                 userNameLabel.setBounds(100, 80, 60, 25);
  67.                 userNameField.setBounds(160, 80, 120, 25);
  68.                 this.add(userNameLabel);
  69.                 this.add(userNameField);

  70.                 // 密码文本框
  71.                 passwordLabel.setBounds(100, 110, 60, 25);
  72.                 passwordField.setBounds(160, 110, 120, 25);
  73.                 this.add(passwordLabel);
  74.                 this.add(passwordField);

  75.                 // 密码文本框
  76.                 rePasswordLabel.setBounds(290, 110, 60, 25);
  77.                 rePasswordField.setBounds(350, 110, 120, 25);
  78.                 this.add(rePasswordLabel);
  79.                 this.add(rePasswordField);

  80.                 // 生日
  81.                 birthdayLabel.setBounds(100, 140, 60, 25);
  82.                
  83.                 yearField.setBounds(160, 140, 60, 25);
  84.                 monthField.setBounds(220, 140, 60, 25);
  85.                 dayField.setBounds(280, 140, 60, 25);
  86.        
  87.                 for (int i = 1900; i <= 2099; i++) {
  88.                         yearField.addItem(i+"");
  89.                 }
  90.                 for (int i = 1; i <= 12; i++) {
  91.                         monthField.addItem(i+"");
  92.                 }
  93.                 for (int i = 1; i <= 31; i++) {
  94.                         dayField.addItem(i+"");
  95.                 }
  96.                
  97.                 this.add(birthdayLabel);
  98.                 this.add(yearField);
  99.                 this.add(monthField);
  100.                 this.add(dayField);
  101.                
  102.                 // 注册按钮
  103.                 registBtn.setBounds(160, 240, 80, 25);
  104.                 this.add(registBtn);

  105.         }

  106.         // 添加监听器(事件加载)
  107.         public void addlistener() {
  108.                 //注册按钮,事件,动作事件ActionListener
  109.                 registBtn.addActionListener(new ActionListener() {
  110.                         public void actionPerformed(ActionEvent e) {
  111.                                 try {
  112.                                         regedit();
  113.                                 } catch (Exception e1) {
  114.                                        
  115.                                         e1.printStackTrace();
  116.                                 }
  117.                         }
  118.                 });
  119.         }
  120.         public void regedit()throws Exception{
  121.                 //获取用户输入的所有数据内容
  122.                 //用户名
  123.                 String username = userNameField.getText();
  124.                 //获取密码
  125.                 String password = new String(passwordField.getPassword());
  126.                 //重复密码
  127.                 String repassword = new String(rePasswordField.getPassword());
  128.                 //获取生日的,三个下拉菜单 get
  129.                 String year = yearField.getSelectedItem()+"";//2001
  130.                 String month = monthField.getSelectedItem()+"";//5
  131.                 String day = dayField.getSelectedItem()+"";
  132.                
  133.                 //判断两次输入的密码,是否相同
  134.                 //String类方法 equals
  135.                 if(!password.equals(repassword)){
  136.                         //密码不同
  137.                         JOptionPane.showMessageDialog(this, "两次密码不同");
  138.                         return ;
  139.                 }
  140.                 //将字符串转成日期的对象
  141.                 String dateString = year+"-"+month+"-"+day;
  142.                 DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  143.                 Date birthdayDate = df.parse(dateString);
  144.                
  145.                 //用户的数据,用户名,密码,日期,封装成User对象
  146.                 User u = new User(username,password,birthdayDate);
  147.                 //判断用户名是否已经存在
  148.                 //直接将对象,存储到HashSet中,存储成功,用户名没有使用过
  149.                 //存储失败了,用户名已经被占有
  150.                
  151.                 //将User对象,存储到集合中
  152.                 boolean b = date.add(u);
  153.                 if(b){
  154.                   JOptionPane.showMessageDialog(this, "注册成功");
  155.                 }else{
  156.                 JOptionPane.showMessageDialog(this, "失败失败,用户名已经被占有");
  157.                 }
  158.                
  159.                
  160.                
  161.         }<div class="blockcode"><blockquote>package cn.itcast.regedit;

  162. public class Test {
  163.         public static void main(String[] args) {
  164.                 new RegistFrame().setVisible(true);
  165.         }
  166. }
复制代码

这里面有个年月日选择的框.你看一下.


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马