本人刚学java一个月,新手。用swing做一组下拉列表,判断日期。高手帮忙!!!
做三个下拉列表,分别是年月日,如果年是润年,2月就是29天或者28天。还有根据月份判断天数,比如大月就31天,小月就30天。新手,明天要交作业了,本人还没思路。望写上代码...
做三个下拉列表,分别是年月日,如果年是润年,2月就是29天或者28天。还有根据月份判断天数,比如大月就31天,小月就30天。新手,明天要交作业了,本人还没思路。望写上代码供参考。谢谢
展开
展开全部
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
public class Demo extends JFrame{
private JComboBox yearBox;
private JComboBox monthBox;
private JComboBox dayBox;
private int[] days=new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
public Demo(String title){
super(title);
setSize(400,100);
setLocation(100,100);
setLayout(new FlowLayout());
yearBox=new JComboBox();
monthBox=new JComboBox();
dayBox=new JComboBox();
for(int i=1980;i<2020;i++){
yearBox.addItem(new String(""+i));
}
for(int i=1;i<=12;i++){
monthBox.addItem(new String(""+i));
}
addDays();
yearBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
addDays();
}
});
monthBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
addDays();
}
});
getContentPane().add(yearBox);
getContentPane().add(new JLabel("年"));
getContentPane().add(monthBox);
getContentPane().add(new JLabel("月"));
getContentPane().add(dayBox);
getContentPane().add(new JLabel("日"));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void addDays(){
int year=Integer.parseInt((String)yearBox.getSelectedItem());
int month=Integer.parseInt((String)monthBox.getSelectedItem())-1;
if(year%4==0 && year%100!=0 || year%400==0){
days[1]=29;
}else{
days[1]=28;
}
dayBox.removeAllItems();
for(int i=0;i<days[month];i++){
dayBox.addItem(new String(""+(i+1)));
}
}
public static void main(String[] args) {
new Demo("请选择日期").setVisible(true);
}
}
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
public class Demo extends JFrame{
private JComboBox yearBox;
private JComboBox monthBox;
private JComboBox dayBox;
private int[] days=new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
public Demo(String title){
super(title);
setSize(400,100);
setLocation(100,100);
setLayout(new FlowLayout());
yearBox=new JComboBox();
monthBox=new JComboBox();
dayBox=new JComboBox();
for(int i=1980;i<2020;i++){
yearBox.addItem(new String(""+i));
}
for(int i=1;i<=12;i++){
monthBox.addItem(new String(""+i));
}
addDays();
yearBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
addDays();
}
});
monthBox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
addDays();
}
});
getContentPane().add(yearBox);
getContentPane().add(new JLabel("年"));
getContentPane().add(monthBox);
getContentPane().add(new JLabel("月"));
getContentPane().add(dayBox);
getContentPane().add(new JLabel("日"));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void addDays(){
int year=Integer.parseInt((String)yearBox.getSelectedItem());
int month=Integer.parseInt((String)monthBox.getSelectedItem())-1;
if(year%4==0 && year%100!=0 || year%400==0){
days[1]=29;
}else{
days[1]=28;
}
dayBox.removeAllItems();
for(int i=0;i<days[month];i++){
dayBox.addItem(new String(""+(i+1)));
}
}
public static void main(String[] args) {
new Demo("请选择日期").setVisible(true);
}
}
展开全部
最简单的
switch语句....
或者 if else语句...
if(闰年2月)
29天
else if(平年2月)
28天
else if(1,3,5,7,8,10,12)
31天
else
30天
switch语句....
或者 if else语句...
if(闰年2月)
29天
else if(平年2月)
28天
else if(1,3,5,7,8,10,12)
31天
else
30天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题描述不具体,无法帮助你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要什么杨的帮助啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询