📄 limitprintinfopanel.java
字号:
package jp.co.ntl.swing.ext.user.limitprint;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JRadioButton;
import javax.swing.JLabel;
import javax.swing.SpringLayout;
import jp.co.ntl.limitprint.LimitPrintInfo;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.swing.SpringUtilities;
import jp.co.ntl.swing.ext.AbstractDetailInfoPanel;
public class LimitPrintInfoPanel extends AbstractDetailInfoPanel implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JLabel lblRestockTime;
private JComboBox cmbRestockTime;
private JLabel lblRestockTimeUnit;
private JComboBox cmbRestockDate;
private JLabel lblRestockDateUnit;
private JComboBox cmbRestockWeek;
private JRadioButton radioUseDate;
private JRadioButton radioUseWeek;
private LimitPrintInfo lpInfo;
public LimitPrintInfoPanel(boolean modify, LimitPrintInfo lpInfo) {
super(modify, new Object[] { lpInfo });
}
protected void setParams(Object[] params) {
this.lpInfo = (LimitPrintInfo)params[0];
}
protected void buildComponents() {
setLayout(new SpringLayout());
lblRestockTime = new JLabel(Resource.getString(Resource.LIMITPRINTINFO_RESTOCKTIME));
add(lblRestockTime);
String[] txt = new String[24];
for (int i = 0; i < txt.length; i++) {
txt[i] = String.valueOf(i);
}
cmbRestockTime = new JComboBox(txt);
add(cmbRestockTime);
lblRestockTimeUnit = new JLabel(Resource.getString(Resource.RESTOCKTIME_UNIT));
add(lblRestockTimeUnit);
ButtonGroup bg = new ButtonGroup();
radioUseDate = new JRadioButton(Resource.getString(Resource.LIMITPRINTINFO_RESTOCKDATE_USE_DAY), true);
add(radioUseDate);
bg.add(radioUseDate);
txt = new String[31];
for (int i = 0; i < txt.length; i++) {
txt[i] = String.valueOf(i + 1);
}
cmbRestockDate = new JComboBox(txt);
add(cmbRestockDate);
lblRestockDateUnit = new JLabel(Resource.getString(Resource.RESTOCKDATE_UNIT));
add(lblRestockDateUnit);
radioUseWeek = new JRadioButton(Resource.getString(Resource.LIMITPRINTINFO_RESTOCKDATE_USE_WEEK), false);
add(radioUseWeek);
bg.add(radioUseWeek);
txt = new String[] {
Resource.getString(Resource.WEEK_SUN),
Resource.getString(Resource.WEEK_MON),
Resource.getString(Resource.WEEK_TUE),
Resource.getString(Resource.WEEK_WED),
Resource.getString(Resource.WEEK_THU),
Resource.getString(Resource.WEEK_FRI),
Resource.getString(Resource.WEEK_SAT),
};
cmbRestockWeek = new JComboBox(txt);
add(cmbRestockWeek);
JLabel lblDummy = new JLabel();
add(lblDummy);
SpringUtilities.makeCompactGrid(this, getComponentCount() / 3, 3, 10, 10, 10, 10);
radioUseDate.addActionListener(this);
radioUseWeek.addActionListener(this);
}
private void setItemState() {
switch (lpInfo.getLimitPeriod()) {
case LimitPrintInfo.PERIOD_DAY:
lblRestockTime.setEnabled(true);
cmbRestockTime.setEnabled(true);
lblRestockTimeUnit.setEnabled(true);
break;
case LimitPrintInfo.PERIOD_MONTH:
case LimitPrintInfo.PERIOD_WEEK:
lblRestockTime.setEnabled(true);
cmbRestockTime.setEnabled(true);
lblRestockTimeUnit.setEnabled(true);
break;
default:
lblRestockTime.setEnabled(false);
cmbRestockTime.setEnabled(false);
lblRestockTimeUnit.setEnabled(false);
break;
}
setRadioState();
}
private void setRadioState() {
switch (lpInfo.getLimitPeriod()) {
case LimitPrintInfo.PERIOD_DAY:
radioUseDate.setEnabled(false);
cmbRestockDate.setEnabled(false);
lblRestockDateUnit.setEnabled(false);
radioUseWeek.setEnabled(false);
cmbRestockWeek.setEnabled(false);
break;
case LimitPrintInfo.PERIOD_WEEK:
radioUseDate.setEnabled(false);
radioUseWeek.setEnabled(true);
cmbRestockDate.setEnabled(false);
lblRestockDateUnit.setEnabled(false);
cmbRestockWeek.setEnabled(true);
break;
case LimitPrintInfo.PERIOD_MONTH:
radioUseDate.setEnabled(true);
radioUseWeek.setEnabled(true);
if (radioUseDate.isSelected()) {
cmbRestockDate.setEnabled(true);
lblRestockDateUnit.setEnabled(true);
cmbRestockWeek.setEnabled(false);
} else {
cmbRestockDate.setEnabled(false);
lblRestockDateUnit.setEnabled(false);
cmbRestockWeek.setEnabled(true);
}
break;
default:
radioUseDate.setEnabled(false);
cmbRestockDate.setEnabled(false);
lblRestockDateUnit.setEnabled(false);
radioUseWeek.setEnabled(false);
cmbRestockWeek.setEnabled(false);
break;
}
}
protected boolean checkValues() {
return true;
}
public JButton[] getButtons() {
if (clientKind == PreferenceInfo.CLIENT_MAC) {
return new JButton[] {
new JButton(Resource.getString(Resource.LIMITPRINTINFO_CANCEL)),
new JButton(Resource.getString(Resource.LIMITPRINTINFO_OK))
};
} else {
return new JButton[] {
new JButton(Resource.getString(Resource.LIMITPRINTINFO_OK)),
new JButton(Resource.getString(Resource.LIMITPRINTINFO_CANCEL))
};
}
}
protected void setValuesFromComponent() {
lpInfo.setRestockTime(cmbRestockTime.getSelectedIndex());
if (radioUseWeek.isSelected()) {
lpInfo.setRestockWeek(cmbRestockWeek.getSelectedIndex());
lpInfo.setRestockDate(LimitPrintInfo.USE_RESTOCK_WEEK);
} else {
lpInfo.setRestockDate(cmbRestockDate.getSelectedIndex() + 1);
lpInfo.setRestockWeek(0);
}
}
protected void setValuesToComponent() {
cmbRestockTime.setSelectedIndex(lpInfo.getRestockTime());
if (lpInfo.getRestockDate() == LimitPrintInfo.USE_RESTOCK_WEEK) {
radioUseWeek.setSelected(true);
cmbRestockWeek.setSelectedIndex(lpInfo.getRestockWeek());
cmbRestockDate.setSelectedIndex(0);
} else {
radioUseDate.setSelected(true);
cmbRestockDate.setSelectedIndex(lpInfo.getRestockDate() - 1);
cmbRestockWeek.setSelectedIndex(0);
}
setItemState();
}
public void actionPerformed(ActionEvent ae) {
Object obj = ae.getSource();
if (obj == radioUseDate) {
setItemState();
} else if (obj == radioUseWeek) {
setItemState();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -