猿问

我如何隐藏或禁用 JDateChooser 上的所有星期日?

我想禁用所有星期日,JDateChooser但我不知道如何。

我在搜索时早些时候看到了一些答案,他们使用的是带有开始和结束的范围,但在我的例子中,它是 jdatechooser 中的所有星期天。这是为了我们的学校项目,我们不允许拖放控件,所以我声明了日期选择器并导入了com.toedter.calendar.JDateChooser;

下面是我的 JDateChooser 代码。希望多多学习,谢谢。

    JDateChooser date = new JDateChooser(new Date());
                        date.setBounds(120,150,150,30);
                        sapp1.add(date);


撒科打诨
浏览 130回答 1
1回答

浮云间

您可以JCalendar从中获取JDateChooser并自定义它以获得所需的结果。JDateChooser date = new JDateChooser(new Date());date.getJCalendar().getDayChooser().addDateEvaluator(new MyDateEvaluator());您可以设置一个IDateEvaluator允许全部Sundays禁用的自定义。@Overridepublic boolean isInvalid(Date date) {    return date.getDay() == 0;}这是禁用所有星期日的代码:import com.toedter.calendar.IDateEvaluator;import com.toedter.calendar.JDateChooser;import javax.swing.*;import java.awt.*;import java.util.Date;public class CustomizedDateChooser {    public static void main(String[] args) {        JFrame f = new JFrame("ComboBox Example");        JDateChooser date = new JDateChooser(new Date());        date.getJCalendar().getDayChooser().addDateEvaluator(new MyDateEvaluator());        date.setBounds(200,200,200,50);        JPanel p = new JPanel();        p.add(new JLabel("Choose a Date:"));        p.add(date);        f.add(p);        f.setLayout(new FlowLayout());        f.setSize(400, 500);        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);        f.pack();        f.setVisible(true);    }    private static class MyDateEvaluator implements IDateEvaluator {        @Override        public boolean isSpecial(Date date) {            return false;        }        @Override        public Color getSpecialForegroundColor() {            return null;        }        @Override        public Color getSpecialBackroundColor() {            return null;        }        @Override        public String getSpecialTooltip() {            return null;        }        @Override        public boolean isInvalid(Date date) {            return date.getDay() == 0;        }        @Override        public Color getInvalidForegroundColor() {            return null;        }        @Override        public Color getInvalidBackroundColor() {            return null;        }        @Override        public String getInvalidTooltip() {            return null;        }    }}
随时随地看视频慕课网APP

相关分类

Java
我要回答