Class Gauge
package javax.microedition.lcdui
java.lang.Object | +--javax.microedition.lcdui.Item | +--javax.microedition.lcdui.Gaugeextends Item:
정수 값의 그래픽 디스플레이(예: 막대 그래프)를 구현합니다.
Gauge는 0에서 최대값까지의 범위(포함)에 있는
현재 값을 포함합니다. 응용 프로그램은
현재 값과 최대값을 제어할 수 있습니다.
응용 프로그램에서 지정하는 값의 범위는 장치의 구분되는 시각적 상태 수보다
클 수 있으므로 두 개 이상의 값이 동일한
시각적 표현을 가져야 합니다.
예를 들어, 0에서 99까지의 값 범위를
갖는 Gauge 객체가 1-10개의 막대 집합을 사용하여
Gauge의 근사값을 표시하는 장치에서 실행 중인
경우를 가정합니다. 장치에서 한 개의 막대는 0-9의 값을 표시하고
두 개의 막대는 10-19의 값을,
세 개의 막대는 20-29의 값을
표시할 수 있습니다.
Gauge는 대화형이거나 비대화형일 수 있습니다.
응용 프로그램은 상호 작용 모드에 관계없이 언제든지
Gauge의 값을 설정하거나 검색할 수 있습니다.
객체가 대화형 모드로 만들어지는지 여부에 따라 구현 시
막대 그래프의 시각적 모양이
변경될 수 있습니다.
대화형 모드에서는 사용자가 값을 수정할 수 있습니다. 사용자는 언제든 해당 값을 위로나 아래로 1씩 변경할 방법이 있으며 보다 큰 증분으로 값을 변경하는 방법도 있습니다. 사용자는 설정된 범위를 벗어나는 값으로 이동할 수 없습니다. 따라서 응용 프로그램에서 초기 값을 설정한 다음 사용자가 그 이후 값부터 수정하도록 허용하는 것이 좋습니다. 사용자가 값과 상호 작용하고 있는 동안에도 응용 프로그램은 해당 값을 수정할 수 있습니다.
많은 경우 사용자가 값을 수정하는 유일한 방법은 버튼을 눌러 한 번에 한 단위씩 값을 늘리거나 줄이는 것입니다. 따라서 응용 프로그램은 몇 십 개를 넘지 않는 범위 내에서 지정해야 합니다.
비대화형 모드에서는 사용자가 값을 수정할 수 없습니다.
비대화형 모드는 사용자에게 오래 실행되는 작업 상태에 관한 피드백을
제공하기 위해 사용됩니다. 비대화형 모드는 주로 오래 실행되는 작업 중에
사용자에게 피드백을 제공하는 “진행 표시기”나
“작업 표시기”로 사용됩니다.
응용 프로그램은 setValue() 메소드를 사용하여
주기적으로 값을 업데이트할 수 있습니다.
비대화형 Gauge의 범위는 유한하거나 무한할 수 있습니다.
Gauge의 범위가 유한하면 0과 응용 프로그램에서
설정한 최대값 사이의 정수 값(포함)을 가집니다. 구현 시에는 위에서
설명한 대로 이 값에 대한 그래픽 표현을
제공합니다.
무한 범위를 가지는 비대화형 Gauge는
계속 유휴 지속, 증분 유휴, 계속 실행, 증분 업데이트의 네 상태 중
하나에 있습니다. 이러한 상태는 작업의 특정 수준이 발생 중임을
사용자에게 알리는 것이 목적입니다.
증분 업데이트를 사용하는 경우 작업에 대해
알려진 종점이 없어도 진행 상태를 사용자에게 알릴 수 있습니다.
계속 실행을 사용하는 경우에는 사용자에게 보고할 진행이 없으며
알려진 종점이 없습니다.
계속 실행은 단지 사용 중임을 알리는 표시기입니다.
구현 시 이러한 내용을 적절하게 표시하는
그래픽 디스플레이를 사용해야 합니다.
구현 시 무한 지속 게이지와 무한 증분 게이지에 다양한 그래픽을
사용할 수 있습니다. 이러한 이유로 각 모드에 대해
별도의 유휴 상태가 존재합니다.
예를 들어, 구현 시 계속 실행 상태의 모래 시계나 회전 시계를
표시할 수 있지만 증분 업데이트 상태에서는 비치볼이나
줄무늬 막대 사탕 같은 다양한 상태의 애니메이션을 표시할 수 있습니다.
계속 유휴 상태나 증분 유휴 상태에서 Gauge는
아무 작업도 발생하지 않음을 나타냅니다.
증분 업데이트 상태에서 Gauge는 작업을 나타내지만
해당 그래픽 표현은 응용 프로그램에서 setValue()에
대한 호출을 사용하여 업데이트를 요청하는 경우에만
업데이트되어야 합니다. 계속 실행 상태에서 Gauge는
응용 프로그램으로부터의 업데이트 요청 없이도
계속 실행되는 애니메이션을 표시하여
작업을 나타냅니다.
Gauge가 비대화형이고 무한 범위를 갖도록
설정된 경우에만 CONTINUOUS_IDLE,
INCREMENTAL_IDLE,
CONTINUOUS_RUNNING
및 INCREMENTAL_UPDATING 값이 특별한 의미를 갖습니다.
Gauge가 대화형이거나 유한 범위를 갖도록 설정된 경우
이러한 값은 일반 값으로 간주됩니다.
또한 Gauge를 진행 표시기로 사용하는
응용 프로그램은 일반적으로 사용자가 진행 중인 작업을 중단시킬 수 있는
Gauge를 포함하는 컨테이너에
STOP 명령을 연결해야 합니다.
응용 프로그램 개발자를 위한 참고 사항
섹션 제목: “응용 프로그램 개발자를 위한 참고 사항”위에서 언급한 대로 오래 실행되는 작업 도중
사용자에게 피드백을 제공하기 위해 비대화형 Gauge가
사용될 수 있습니다. 응용 프로그램에서
이미 알려진 종점으로 진행할 때
작업의 진행을 관찰할 수 있는 경우 응용 프로그램은
유한 범위를 갖는 비대화형 Gauge를 사용해야 합니다.
예를 들어, 응용 프로그램에서 크기가 20KB로
알려진 파일을 다운로드한다고 가정합니다.
응용 프로그램은 Gauge의 최대값을 20으로
설정하고 게이지 값을 지금까지 다운로드한 KB로 설정합니다.
지정된 시간에 완료된 작업의 비율을 보여주는
Gauge가 사용자에게 제시됩니다.
반면 응용 프로그램에서 알 수 없는 크기의 파일을
다운로드하고 있는 경우 응용 프로그램은 유한 범위를 갖는 비대화형 Gauge를
사용해야 합니다. 응용 프로그램은 주기적으로(예를 들어
입력 버퍼가 채워질 때마다) setValue(INCREMENTAL_UPDATING)를
호출해야 합니다. 그러면 사용자에게 진행의
발생 비율을 표시할 수 있습니다.
마지막으로 응용 프로그램이 작업을 수행하지만
진행을 파악할 수 있는 방법이 없다면 비대화형 Gauge가
무한 범위를 갖도록 설정하고 값을 CONTINUOUS_RUNNING이나
CONTINUOUS_IDLE 중
하나로 설정해야 합니다.
예를 들어, 응용 프로그램에서 네트워크 서버에 요청을 발행하고
서버가 응답 대기하는 것을 차단하려는 경우 Gauge의 상태를
응답 대기 전에는 CONTINUOUS_RUNNING으로,
응답을 받은 다음에는 CONTINUOUS_IDLE로
설정해야 합니다.
Since:
- MIDP 1.0
필드 요약
섹션 제목: “필드 요약”static int CONTINUOUS_IDLE— 무한 범위를 갖는 비대화형 Gauge 의 계속 유휴 상태를 나타내는 값.static int CONTINUOUS_RUNNING— 무한 범위를 갖는 비대화형 Gauge 의 계속 실행 상태를 나타내는 값.static int INCREMENTAL_IDLE— 무한 범위를 갖는 비대화형 Gauge 의 증분 유휴 상태를 나타내는 값.static int INCREMENTAL_UPDATING— 무한 범위를 갖는 비대화형 Gauge 의 증분 업데이트 상태를 나타내는 값.static int INDEFINITE— Gauge 가 무한 범위를 갖는다는 것을 나타내기 위해 최대값으로 특수 값이 사용되었습니다.
생성자 요약
섹션 제목: “생성자 요약”- Gauge ( String label, boolean interactive, int maxValue, int initialValue) 대화형 모드나 비대화형 모드에서 지정된 최대값 및 초기 값을 사용하여 지정된 레이블을 갖는 새 Gauge 객체를 만듭니다.
메서드 요약
섹션 제목: “메서드 요약”int getMaxValue ()— 이 Gauge 객체의 최대값을 가져옵니다.int getValue ()— 이 Gauge 객체의 현재 값을 가져옵니다.boolean isInteractive ()— 사용자가 Gauge 의 값을 변경할 수 있는지 여부를 알려줍니다.void setMaxValue (int maxValue)— 이 Gauge 객체의 최대값을 설정합니다.void setValue (int value)— 이 Gauge 객체의 현재 값을 설정합니다.
필드 상세
섹션 제목: “필드 상세”INDEFINITE
섹션 제목: “INDEFINITE”public static final int INDEFINITESince:
- MIDP 2.0
See Also:
Constant Field Values
CONTINUOUS_IDLE
섹션 제목: “CONTINUOUS_IDLE”public static final int CONTINUOUS_IDLESince:
- MIDP 2.0
See Also:
Constant Field Values
INCREMENTAL_IDLE
섹션 제목: “INCREMENTAL_IDLE”public static final int INCREMENTAL_IDLESince:
- MIDP 2.0
See Also:
Constant Field Values
CONTINUOUS_RUNNING
섹션 제목: “CONTINUOUS_RUNNING”public static final int CONTINUOUS_RUNNINGSince:
- MIDP 2.0
See Also:
Constant Field Values
INCREMENTAL_UPDATING
섹션 제목: “INCREMENTAL_UPDATING”public static final int INCREMENTAL_UPDATINGSince:
- MIDP 2.0
See Also:
Constant Field Values
Gauge
섹션 제목: “Gauge”public Gauge(String label, boolean interactive, int maxValue, int initialValue)- 대화형 모드나 비대화형 모드에서 지정된 최대값 및
초기 값을 사용하여 지정된 레이블을 갖는
새
Gauge객체를 만듭니다. 대화형 모드(interactive가true)에서 최대값은 0보다 커야 하며 그렇지 않으면 예외가 발생됩니다. 비대화형 모드(interactive가false)에서 최대값은 0보다 크거나 특수 값INDEFINITE과 같아야 하며 그렇지 않으면 예외가 발생됩니다.
최대값이 0보다 큰 경우 게이지는
유한 범위를 갖습니다.
이 경우 초기 값은 0-maxValue 범위(포함)에 있어야 합니다.
초기 값이 0보다 작은 경우 값은 0으로 설정됩니다.
초기 값이 maxValue 보다 큰 경우
maxValue로 설정됩니다.
interactive가 false이고
최대값이 INDEFINITE인 경우 무한 범위를 갖는
비대화형 게이지가 만들어집니다.
초기 값은 CONTINUOUS_IDLE,
INCREMENTAL_IDLE, CONTINUOUS_RUNNING,
INCREMENTAL_UPDATING 중 하나여야 합니다.
Parameters:
initialValue-[0..maxValue]범위의 초기 값, 또는maxValue가INDEFINITE인 경우CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나
Throws:
IllegalArgumentException- 무한 범위를 갖는 비대화형 게이지에 대해 initialValue가CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나가 아닌 경우
See Also:
INDEFINITE,CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING
setValue
섹션 제목: “setValue”public void setValue(int value)Parameters:
value- 새 값
Throws:
IllegalArgumentException- 무한 범위를 갖는 비대화형 게이지에 대한 값이CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나가 아닌 경우
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,getValue()
getValue
섹션 제목: “getValue”public int getValue()Returns:
Gauge의 현재 값
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,setValue(int)
setMaxValue
섹션 제목: “setMaxValue”public void setMaxValue(int maxValue)Parameters:
maxValue- 새 최대값
Throws:
IllegalArgumentException-masValue가 유효하지 않은 경우
See Also:
INDEFINITE,getMaxValue()
getMaxValue
섹션 제목: “getMaxValue”public int getMaxValue()Returns:
Gauge의 최대값, 또는INDEFINITE
See Also:
INDEFINITE,setMaxValue(int)
isInteractive
섹션 제목: “isInteractive”public boolean isInteractive()Returns:
Gauge가 대화형인지 여부를 나타내는 부울
생성자 상세
섹션 제목: “생성자 상세”Gauge
섹션 제목: “Gauge”public Gauge(String label, boolean interactive, int maxValue, int initialValue)- 대화형 모드나 비대화형 모드에서 지정된 최대값 및
초기 값을 사용하여 지정된 레이블을 갖는
새
Gauge객체를 만듭니다. 대화형 모드(interactive가true)에서 최대값은 0보다 커야 하며 그렇지 않으면 예외가 발생됩니다. 비대화형 모드(interactive가false)에서 최대값은 0보다 크거나 특수 값INDEFINITE과 같아야 하며 그렇지 않으면 예외가 발생됩니다.
최대값이 0보다 큰 경우 게이지는
유한 범위를 갖습니다.
이 경우 초기 값은 0-maxValue 범위(포함)에 있어야 합니다.
초기 값이 0보다 작은 경우 값은 0으로 설정됩니다.
초기 값이 maxValue 보다 큰 경우
maxValue로 설정됩니다.
interactive가 false이고
최대값이 INDEFINITE인 경우 무한 범위를 갖는
비대화형 게이지가 만들어집니다.
초기 값은 CONTINUOUS_IDLE,
INCREMENTAL_IDLE, CONTINUOUS_RUNNING,
INCREMENTAL_UPDATING 중 하나여야 합니다.
Parameters:
initialValue-[0..maxValue]범위의 초기 값, 또는maxValue가INDEFINITE인 경우CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나
Throws:
IllegalArgumentException- 무한 범위를 갖는 비대화형 게이지에 대해 initialValue가CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나가 아닌 경우
See Also:
INDEFINITE,CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING
setValue
섹션 제목: “setValue”public void setValue(int value)Parameters:
value- 새 값
Throws:
IllegalArgumentException- 무한 범위를 갖는 비대화형 게이지에 대한 값이CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나가 아닌 경우
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,getValue()
getValue
섹션 제목: “getValue”public int getValue()Returns:
Gauge의 현재 값
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,setValue(int)
setMaxValue
섹션 제목: “setMaxValue”public void setMaxValue(int maxValue)Parameters:
maxValue- 새 최대값
Throws:
IllegalArgumentException-masValue가 유효하지 않은 경우
See Also:
INDEFINITE,getMaxValue()
getMaxValue
섹션 제목: “getMaxValue”public int getMaxValue()Returns:
Gauge의 최대값, 또는INDEFINITE
See Also:
INDEFINITE,setMaxValue(int)
isInteractive
섹션 제목: “isInteractive”public boolean isInteractive()Returns:
Gauge가 대화형인지 여부를 나타내는 부울
메서드 상세
섹션 제목: “메서드 상세”setValue
섹션 제목: “setValue”public void setValue(int value)Parameters:
value- 새 값
Throws:
IllegalArgumentException- 무한 범위를 갖는 비대화형 게이지에 대한 값이CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING중 하나가 아닌 경우
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,getValue()
getValue
섹션 제목: “getValue”public int getValue()Returns:
Gauge의 현재 값
See Also:
CONTINUOUS_IDLE,INCREMENTAL_IDLE,CONTINUOUS_RUNNING,INCREMENTAL_UPDATING,setValue(int)
setMaxValue
섹션 제목: “setMaxValue”public void setMaxValue(int maxValue)Parameters:
maxValue- 새 최대값
Throws:
IllegalArgumentException-masValue가 유효하지 않은 경우
See Also:
INDEFINITE,getMaxValue()
getMaxValue
섹션 제목: “getMaxValue”public int getMaxValue()Returns:
Gauge의 최대값, 또는INDEFINITE
See Also:
INDEFINITE,setMaxValue(int)
isInteractive
섹션 제목: “isInteractive”public boolean isInteractive()Returns:
Gauge가 대화형인지 여부를 나타내는 부울