java getselecteditem_Java ComboBoxModel.getSelectedItem方法代码示例

该代码段展示了如何在Java中获取ComboBox选中的TimeUnit,并结合日期和时间计算时间模型。通过获取开始和结束日期及时间,转换为毫秒数,然后根据选中的时间单位计算步长,最后创建并返回TimeModelDiscrete对象。
摘要由CSDN通过智能技术生成

import javax.swing.ComboBoxModel; //导入方法依赖的package包/类

@Override

public TimeModel getTimeModel() {

Calendar calendarWork = Calendar.getInstance();

// --- Getting Start time as Long ---------------------------

Calendar startCalenderMerged = Calendar.getInstance();

Date startDate = (Date) this.getJSpinnerDateStart().getValue();

Date startTime = (Date) this.getJSpinnerTimeStart().getValue();

int startMillis = (Integer) this.getJSpinnerMillisStart().getValue();

calendarWork.setTime(startDate);

startCalenderMerged.set(Calendar.DAY_OF_MONTH, calendarWork.get(Calendar.DAY_OF_MONTH));

startCalenderMerged.set(Calendar.MONTH, calendarWork.get(Calendar.MONTH));

startCalenderMerged.set(Calendar.YEAR, calendarWork.get(Calendar.YEAR));

calendarWork.setTime(startTime);

startCalenderMerged.set(Calendar.HOUR_OF_DAY, calendarWork.get(Calendar.HOUR_OF_DAY));

startCalenderMerged.set(Calendar.MINUTE, calendarWork.get(Calendar.MINUTE));

startCalenderMerged.set(Calendar.SECOND, calendarWork.get(Calendar.SECOND));

startCalenderMerged.set(Calendar.MILLISECOND, startMillis);

Date start = startCalenderMerged.getTime();

Long startLong = start.getTime();

// --- Getting Stop time as Long ----------------------------

Calendar stopCalenderMerged = Calendar.getInstance();

Date stopDate = (Date) this.getJSpinnerDateStop().getValue();

Date stopTime = (Date) this.getJSpinnerTimeStop().getValue();

int stopMillis = (Integer) this.getJSpinnerMillisStop().getValue();

calendarWork.setTime(stopDate);

stopCalenderMerged.set(Calendar.DAY_OF_MONTH, calendarWork.get(Calendar.DAY_OF_MONTH));

stopCalenderMerged.set(Calendar.MONTH, calendarWork.get(Calendar.MONTH));

stopCalenderMerged.set(Calendar.YEAR, calendarWork.get(Calendar.YEAR));

calendarWork.setTime(stopTime);

stopCalenderMerged.set(Calendar.HOUR_OF_DAY, calendarWork.get(Calendar.HOUR_OF_DAY));

stopCalenderMerged.set(Calendar.MINUTE, calendarWork.get(Calendar.MINUTE));

stopCalenderMerged.set(Calendar.SECOND, calendarWork.get(Calendar.SECOND));

stopCalenderMerged.set(Calendar.MILLISECOND, stopMillis);

Date stop = stopCalenderMerged.getTime();

Long stopLong = stop.getTime();

// --- Get the current index of the unit list ---------------

ComboBoxModel cbm = this.getJComboBoxWidthUnit().getModel();

TimeUnit timeUnit = (TimeUnit) cbm.getSelectedItem();

int indexSelected = 0;

for (int i = 0; i < cbm.getSize(); i++) {

if (cbm.getElementAt(i)==timeUnit) {

indexSelected = i;

break;

}

}

// --- Getting step width -----------------------------------

String stepString = this.getJTextFieldWidthValue().getText();

long step;

long stepInUnit;

if (stepString==null) {

step = new Long(0);

} else if (stepString.equals("")) {

step = new Long(0);

} else {

stepInUnit = Long.parseLong(this.getJTextFieldWidthValue().getText());

step = stepInUnit * timeUnit.getFactorToMilliseconds();

}

// --- Getting the time format ------------------------------

String timeFormat = this.getJPanelTimeFormater().getTimeFormat();

// --- Set TimeModel ----------------------------------------

TimeModelDiscrete timeModelDiscrete = new TimeModelDiscrete(startLong, stopLong, step);

timeModelDiscrete.setStepDisplayUnitAsIndexOfTimeUnitVector(indexSelected);

timeModelDiscrete.setTimeFormat(timeFormat);

return timeModelDiscrete;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值