2013-07-31 37 views
1

我正在創建一個員工假釋系統,其中包括接受加入日期。從Jspinner的SPinnerDateModel獲取日期

我正在使用Swings在java中創建一個接口。我希望用戶在日期中設置微調器的值,並且程序必須能夠獲取用戶選擇的日期月份和年份。

我的員工對象由我創建的Date類的變量組成。

我想在用戶點擊提交按鈕時創建一個員工對象。

我無法找到解決方案。

下面是我的程序的一些片段。

mainframe.java

private JSpinner sdoj; 
private SpinnerDateModel sp; 
sp=new SpinnerDateModel(); 

sdoj=new JSpinner(sp); 
submit.addActionListener(new ActionListener() { 

@Override 
public void actionPerformed(ActionEvent arg0) { 
    Employee emp=new Employee(); 

    emp.setDOJ(sp.getCalendarField()); //this is something i have tried but i am not successful 
    } 
} 

Employee.java

public class Employee { 

    private int employeeId; 
    private String employeeName,employeeAddress; 
    private boolean bC, bCPlus,bJava; 
    private EnumGender eGender; 
    private EnumDepartment eDepartment; 
    private EnumQualification eQualification; 
    private Date DOJ; 

    public Employee() { 
     // TODO Auto-generated constructor stub 
    } 
} 

Date.java

public class Date { 
    private int day,month,year; 

    public Date(int day, int month, int year) { 
     super(); 
     this.day = day; 
     this.month = month; 
     this.year = year; 
    } 
} 

回答

2

我想你想:

@Override 
public void actionPerformed(ActionEvent arg0) { 
    Employee emp=new Employee(); 
    emp.setDOJ(sp.getDate());//changed to getDate as setDOJ accepts Date parameter 
} 

SpinnerDateModel#getDate()

作爲每文檔:

返回日期的該序列的當前元素。該方法是 相當於(Date)getValue

NB的Date對象返回並不是指自己的自定義Date類而是java.util.Date

+1

[+1 ............(HTTP://計算器。 com/a/9532721/714968) – mKorbel

+0

你的方法有效,但它也包含了時間。是否有任何wa只獲取日期而不是時間 –

+0

@ user2625973它返回一個Date對象,該對象具有分別獲取年,月和日以及分鐘,小時和秒的方法。查看'java.util.Date'上回答的最後一個鏈接。也可以看看mKorbels答案中的鏈接,它僅在輸出日期時使用['SimpleDateFormat'](http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)不是時間 –