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

📄 segmentedtimeline.segment.html

📁 jfreechart1。0。2的api。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<FONT color="green">550</FONT>         * relative to the segmented timeline. The values relative to the segmented<a name="line.550"></a><FONT color="green">551</FONT>         * timeline are all consecutives starting at zero at the startTime.<a name="line.551"></a><FONT color="green">552</FONT>         *<a name="line.552"></a><FONT color="green">553</FONT>         * @param millisecond  the millisecond (as encoded by java.util.Date).<a name="line.553"></a><FONT color="green">554</FONT>         * <a name="line.554"></a><FONT color="green">555</FONT>         * @return The timeline value.<a name="line.555"></a><FONT color="green">556</FONT>         */<a name="line.556"></a><FONT color="green">557</FONT>        public long toTimelineValue(long millisecond) {<a name="line.557"></a><FONT color="green">558</FONT>      <a name="line.558"></a><FONT color="green">559</FONT>            long result;<a name="line.559"></a><FONT color="green">560</FONT>            long rawMilliseconds = millisecond - this.startTime;<a name="line.560"></a><FONT color="green">561</FONT>            long groupMilliseconds = rawMilliseconds % this.segmentsGroupSize;<a name="line.561"></a><FONT color="green">562</FONT>            long groupIndex = rawMilliseconds / this.segmentsGroupSize;<a name="line.562"></a><FONT color="green">563</FONT>            <a name="line.563"></a><FONT color="green">564</FONT>            if (groupMilliseconds &gt;= this.segmentsIncludedSize) {<a name="line.564"></a><FONT color="green">565</FONT>                result = toTimelineValue(<a name="line.565"></a><FONT color="green">566</FONT>                    this.startTime + this.segmentsGroupSize * (groupIndex + 1)<a name="line.566"></a><FONT color="green">567</FONT>                );<a name="line.567"></a><FONT color="green">568</FONT>            } <a name="line.568"></a><FONT color="green">569</FONT>            else {       <a name="line.569"></a><FONT color="green">570</FONT>                Segment segment = getSegment(millisecond);<a name="line.570"></a><FONT color="green">571</FONT>                if (segment.inExceptionSegments()) {<a name="line.571"></a><FONT color="green">572</FONT>                    result = toTimelineValue(segment.getSegmentEnd() + 1);<a name="line.572"></a><FONT color="green">573</FONT>                }      <a name="line.573"></a><FONT color="green">574</FONT>                else {<a name="line.574"></a><FONT color="green">575</FONT>                    long shiftedSegmentedValue = millisecond - this.startTime;<a name="line.575"></a><FONT color="green">576</FONT>                    long x = shiftedSegmentedValue % this.segmentsGroupSize;<a name="line.576"></a><FONT color="green">577</FONT>                    long y = shiftedSegmentedValue / this.segmentsGroupSize;<a name="line.577"></a><FONT color="green">578</FONT>    <a name="line.578"></a><FONT color="green">579</FONT>                    long wholeExceptionsBeforeDomainValue =<a name="line.579"></a><FONT color="green">580</FONT>                        getExceptionSegmentCount(this.startTime, millisecond - 1);<a name="line.580"></a><FONT color="green">581</FONT>    <a name="line.581"></a><FONT color="green">582</FONT>    //                long partialTimeInException = 0;<a name="line.582"></a><FONT color="green">583</FONT>    //                Segment ss = getSegment(millisecond);<a name="line.583"></a><FONT color="green">584</FONT>    //                if (ss.inExceptionSegments()) {<a name="line.584"></a><FONT color="green">585</FONT>    //                    partialTimeInException = millisecond <a name="line.585"></a><FONT color="green">586</FONT>                    //     - ss.getSegmentStart();<a name="line.586"></a><FONT color="green">587</FONT>    //                }<a name="line.587"></a><FONT color="green">588</FONT>    <a name="line.588"></a><FONT color="green">589</FONT>                    if (x &lt; this.segmentsIncludedSize) {<a name="line.589"></a><FONT color="green">590</FONT>                        result = this.segmentsIncludedSize * y <a name="line.590"></a><FONT color="green">591</FONT>                                 + x - wholeExceptionsBeforeDomainValue <a name="line.591"></a><FONT color="green">592</FONT>                                 * this.segmentSize;<a name="line.592"></a><FONT color="green">593</FONT>                                 // - partialTimeInException;; <a name="line.593"></a><FONT color="green">594</FONT>                    }<a name="line.594"></a><FONT color="green">595</FONT>                    else {<a name="line.595"></a><FONT color="green">596</FONT>                        result = this.segmentsIncludedSize * (y + 1) <a name="line.596"></a><FONT color="green">597</FONT>                                 - wholeExceptionsBeforeDomainValue <a name="line.597"></a><FONT color="green">598</FONT>                                 * this.segmentSize;<a name="line.598"></a><FONT color="green">599</FONT>                                 // - partialTimeInException;<a name="line.599"></a><FONT color="green">600</FONT>                    }<a name="line.600"></a><FONT color="green">601</FONT>                }<a name="line.601"></a><FONT color="green">602</FONT>            }<a name="line.602"></a><FONT color="green">603</FONT>    <a name="line.603"></a><FONT color="green">604</FONT>            return result;<a name="line.604"></a><FONT color="green">605</FONT>        }<a name="line.605"></a><FONT color="green">606</FONT>    <a name="line.606"></a><FONT color="green">607</FONT>        /**<a name="line.607"></a><FONT color="green">608</FONT>         * Translates a date into a value relative to the segmented timeline. The <a name="line.608"></a><FONT color="green">609</FONT>         * values relative to the segmented timeline are all consecutives starting <a name="line.609"></a><FONT color="green">610</FONT>         * at zero at the startTime.<a name="line.610"></a><FONT color="green">611</FONT>         *<a name="line.611"></a><FONT color="green">612</FONT>         * @param date  date relative to the domain.<a name="line.612"></a><FONT color="green">613</FONT>         * <a name="line.613"></a><FONT color="green">614</FONT>         * @return The timeline value (in milliseconds).<a name="line.614"></a><FONT color="green">615</FONT>         */<a name="line.615"></a><FONT color="green">616</FONT>        public long toTimelineValue(Date date) {<a name="line.616"></a><FONT color="green">617</FONT>            return toTimelineValue(getTime(date));<a name="line.617"></a><FONT color="green">618</FONT>            //return toTimelineValue(dateDomainValue.getTime());<a name="line.618"></a><FONT color="green">619</FONT>        }<a name="line.619"></a><FONT color="green">620</FONT>    <a name="line.620"></a><FONT color="green">621</FONT>        /**<a name="line.621"></a><FONT color="green">622</FONT>         * Translates a value relative to the timeline into a millisecond.<a name="line.622"></a><FONT color="green">623</FONT>         *<a name="line.623"></a><FONT color="green">624</FONT>         * @param timelineValue  the timeline value (in milliseconds).<a name="line.624"></a><FONT color="green">625</FONT>         * <a name="line.625"></a><FONT color="green">626</FONT>         * @return The domain value (in milliseconds).<a name="line.626"></a><FONT color="green">627</FONT>         */<a name="line.627"></a><FONT color="green">628</FONT>        public long toMillisecond(long timelineValue) {<a name="line.628"></a><FONT color="green">629</FONT>            <a name="line.629"></a><FONT color="green">630</FONT>            // calculate the result as if no exceptions<a name="line.630"></a><FONT color="green">631</FONT>            Segment result = new Segment(this.startTime + timelineValue <a name="line.631"></a><FONT color="green">632</FONT>                + (timelineValue / this.segmentsIncludedSize) <a name="line.632"></a><FONT color="green">633</FONT>                * this.segmentsExcludedSize);<a name="line.633"></a><FONT color="green">634</FONT>            <a name="line.634"></a><FONT color="green">635</FONT>            long lastIndex = this.startTime;<a name="line.635"></a><FONT color="green">636</FONT>    <a name="line.636"></a><FONT color="green">637</FONT>            // adjust result for any exceptions in the result calculated<a name="line.637"></a><FONT color="green">638</FONT>            while (lastIndex &lt;= result.segmentStart) {<a name="line.638"></a><FONT color="green">639</FONT>    <a name="line.639"></a><FONT color="green">640</FONT>                // skip all whole exception segments in the range<a name="line.640"></a><FONT color="green">641</FONT>                long exceptionSegmentCount;<a name="line.641"></a><FONT color="green">642</FONT>                while ((exceptionSegmentCount = getExceptionSegmentCount(<a name="line.642"></a><FONT color="green">643</FONT>                     lastIndex, (result.millisecond / this.segmentSize) <a name="line.643"></a><FONT color="green">644</FONT>                     * this.segmentSize - 1)) &gt; 0<a name="line.644"></a><FONT color="green">645</FONT>                ) { <a name="line.645"></a><FONT color="green">646</FONT>                    lastIndex = result.segmentStart;<a name="line.646"></a><FONT color="green">647</FONT>                    // move forward exceptionSegmentCount segments skipping <a name="line.647"></a><FONT color="green">648</FONT>                    // excluded segments<a name="line.648"></a><FONT color="green">649</FONT>                    for (int i = 0; i &lt; exceptionSegmentCount; i++) {<a name="line.649"></a><FONT color="green">650</FONT>                        do {<a name="line.650"></a><FONT color="green">651</FONT>                            result.inc();<a name="line.651"></a><FONT color="green">652</FONT>                        }<a name="line.652"></a><FONT color="green">653</FONT>                        while (result.inExcludeSegments());<a name="line.653"></a><FONT color="green">654</FONT>                    }<a name="line.654"></a><FONT color="green">655</FONT>                }<a name="line.655"></a><FONT color="green">656</FONT>                lastIndex = result.segmentStart;<a name="line.656"></a><FONT color="green">657</FONT>    <a name="line.657"></a><FONT color="green">658</FONT>                // skip exception or excluded segments we may fall on<a name="line.658"></a><FONT color="green">659</FONT>                while (result.inExceptionSegments() || result.inExcludeSegments()) {<a name="line.659"></a><FONT color="green">660</FONT>                    result.inc();<a name="line.660"></a><FONT color="green">661</FONT>                    lastIndex += this.segmentSize;<a name="line.661"></a><FONT color="green">662</FONT>                }<a name="line.662"></a><FONT color="green">663</FONT>    <a name="line.663"></a><FONT color="green">664</FONT>                lastIndex++;<a name="line.664"></a><FONT color="green">665</FONT>            }<a name="line.665"></a><FONT color="green">666</FONT>    <a name="line.666"></a><FONT color="green">667</FONT>            return getTimeFromLong(result.millisecond); <a name="line.667"></a><FONT color="green">668</FONT>        }<a name="line.668"></a><FONT color="green">669</FONT>    <a name="line.669"></a><FONT color="green">670</FONT>        /**<a name="line.670"></a><FONT color="green">671</FONT>         * Converts a date/time value to take account of daylight savings time.<a name="line.671"></a><FONT color="green">672</FONT>         * <a name="line.672"></a><FONT color="green">673</FONT>         * @param date  the milliseconds.<a name="line.673"></a><FONT color="green">674</FONT>         * <a name="line.674"></a><FONT color="green">675</FONT>         * @return The milliseconds.<a name="line.675"></a><FONT color="green">676</FONT>         */<a name="line.676"></a><FONT color="green">677</FONT>        public long getTimeFromLong(long date) {<a name="line.677"></a><FONT color="green">678</FONT>            long result = date;<a name="line.678"></a><FONT color="green">679</FONT>            if (this.adjustForDaylightSaving) {<a name="line.679"></a><FONT color="green">680</FONT>                this.workingCalendarNoDST.setTime(new Date(date));<a name="line.680"></a><FONT color="green">681</FONT>                this.workingCalendar.set(<a name="line.681"></a><FONT color="green">682</FONT>                    this.workingCalendarNoDST.get(Calendar.YEAR),<a name="line.682"></a><FONT color="green">683</FONT>                    this.workingCalendarNoDST.get(Calendar.MONTH),<a name="line.683"></a><FONT color="green">684</FONT>                    this.workingCalendarNoDST.get(Calendar.DATE),<a name="line.684"></a><FONT color="green">685</FONT>                    this.workingCalendarNoDST.get(Calendar.HOUR_OF_DAY),<a name="line.685"></a><FONT color="green">686</FONT>                    this.workingCalendarNoDST.get(Calendar.MINUTE),<a name="line.686"></a><FONT color="green">687</FONT>   

⌨️ 快捷键说明

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