⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weekendconfigurationpage.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
/* * Created on 06.01.2005 */package net.sourceforge.ganttproject.gui.projectwizard;import java.awt.BorderLayout;import java.awt.Component;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.net.URL;import java.util.ArrayList;import java.util.Calendar;import javax.swing.AbstractAction;import javax.swing.Box;import javax.swing.ButtonModel;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JPanel;import net.sourceforge.ganttproject.GanttProject;import net.sourceforge.ganttproject.IGanttProject;import net.sourceforge.ganttproject.calendar.GPCalendar;import net.sourceforge.ganttproject.calendar.XMLCalendarOpen;import net.sourceforge.ganttproject.language.GanttLanguage;/** * @author bard */public class WeekendConfigurationPage implements WizardPage, ActionListener {    private JLabel myLabel = new JLabel(            "<html><b>Weekend configuration is not implemented yet,<br> please wait until 1.11-pre2 release!</b></html>");    private final Box myBox = Box.createVerticalBox();    private final GPCalendar myCalendar;    private final JPanel myPanel;    private final JLabel choosePublicHoliday;    private final JLabel chooseWeekend;    private final JComboBox JCCalendar;    private final I18N myI18N;    private final ArrayList publicHolidayCalendar = new ArrayList();    //private final File[] files;    private final URL[] calendars;    private final GanttProject myProject;    WeekendConfigurationPage(GPCalendar calendar, I18N i18n,            IGanttProject project) throws Exception {        myCalendar = calendar;        myCalendar.getPublicHolidays().clear();        myProject = (GanttProject) project;        myI18N = i18n;        String[] dayNames = myI18N.getDayNames();        myPanel = new JPanel(new BorderLayout());        choosePublicHoliday = new JLabel(GanttLanguage.getInstance().getText(                "choosePublicHoliday"));        chooseWeekend = new JLabel(GanttLanguage.getInstance().getText(                "chooseWeekend"));        JCCalendar = new JComboBox();        JCCalendar.addItem(GanttLanguage.getInstance().getText("none"));        XMLCalendarOpen open = new XMLCalendarOpen();        open.setCalendars();        String[] labels = open.getLabels();        calendars = open.getCalendarResources();        for (int i = 0; i < labels.length; i++)            JCCalendar.addItem(labels[i]);        JCCalendar.addActionListener(this);        JPanel publicHolidayPanel = new JPanel(new BorderLayout());        publicHolidayPanel.add(choosePublicHoliday, BorderLayout.WEST);        publicHolidayPanel.add(JCCalendar);        myBox.add(publicHolidayPanel);        myBox.add(new JPanel());        Box cb = Box.createVerticalBox();        cb.add(chooseWeekend);        int nextDay = Calendar.MONDAY;        for (int i = 0; i < 7; i++) {            JCheckBox nextCheckBox = new JCheckBox();            nextCheckBox                    .setSelected(calendar.getWeekDayType(nextDay) == GPCalendar.DayType.WEEKEND);            nextCheckBox.setAction(new CheckBoxAction(nextDay,                    dayNames[nextDay - 1], nextCheckBox.getModel()));            cb.add(nextCheckBox);            if (++nextDay >= 8) {                nextDay = 1;            }        }        JPanel weekendPanel = new JPanel(new BorderLayout());        weekendPanel.add(cb, BorderLayout.WEST);        myBox.add(weekendPanel);        myBox.add(new JPanel());        JPanel projectPanel = new JPanel(new BorderLayout());        projectPanel.add(myBox, BorderLayout.NORTH);        myPanel.add(projectPanel);        // addUsingGBL(myPanel, myBox, gbc, 0, 1, 4, 4);    }    public String getTitle() {        return myI18N.getProjectWeekendPageTitle();    }    public Component getComponent() {        return myPanel;    }    public void setActive(boolean b) {    }    private class CheckBoxAction extends AbstractAction {        private int myDay;        private ButtonModel myModel;        CheckBoxAction(int day, String dayName, ButtonModel model) {            super(dayName);            myDay = day;            myModel = model;        }        public void actionPerformed(ActionEvent e) {            WeekendConfigurationPage.this.myCalendar.setWeekDayType(myDay,                    myModel.isSelected() ? GPCalendar.DayType.WEEKEND                            : GPCalendar.DayType.WORKING);        }    }    public void actionPerformed(ActionEvent evt) {        if (evt.getSource() instanceof JComboBox) {            if (evt.getSource() == JCCalendar)                myCalendar.setPublicHolidays(getProjectCalendar(), myProject);        }    }    public URL getProjectCalendar() {        int index = JCCalendar.getSelectedIndex();        if (index == 0)            return null;        else            return (calendars[index - 1]);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -