사용자의 색상을 String
으로 얻는 방법 및 Color enum
값을 허용하는 방법으로 사용 하시겠습니까?사용자의 색을 String으로 가져 와서 enum 값을 받아들이는 메서드에서 사용합니까?
아이디어는 사용자가 선택하고 값을 전달하거나 다른 방법으로 상황을 처리하는 색상을 얻는 것입니다. element.setBackground(java.awt.Color)
입니다.
사용자의 색상을 String
으로 얻는 방법 및 Color enum
값을 허용하는 방법으로 사용 하시겠습니까?사용자의 색을 String으로 가져 와서 enum 값을 받아들이는 메서드에서 사용합니까?
아이디어는 사용자가 선택하고 값을 전달하거나 다른 방법으로 상황을 처리하는 색상을 얻는 것입니다. element.setBackground(java.awt.Color)
입니다.
나는 Map<String, Color>
을 만들고 String
색 이름이 매핑되는 곳을 Color
으로 채 웁니다. java.awt.Color
's own static
Color
constants을 사용할 수 있습니다. colorMap.put("BLACK", Color.BLACK);
또는 사용자 고유의 매핑을 삽입 할 수 있습니다. 그런 다음 사용자 입력을 받아 get
을 사용하여 조회를 수행하여 적절한 Color
객체를 얻을 수 있습니다.
이 예제는에 선택한 색상의 숫자 값을 얻을하고 분석 할 수 있다면 버튼이
Field field = null;
try {
field = Color.class.getField(textField.getText().toString());
} catch (NoSuchFieldException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Color color = null;
try {
color = (Color)field.get(null);
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
frame.getContentPane().setBackground(color);
을 누를 때 프레임의 색상을 설정에서는 TextField의 내용을 사용 String
다음 Color.decode() 메서드를 호출 할 수 있습니다. 예를 흰색 컬러를
:
element.setBackground(Color.decode("077777777")); // octal format
element.setBackground(Color.decode("0xFFFFFF")); // hexa format
element.setBackground(Color.decode("16777215")); // decimal format
의 javadoc에서 :
이이public static Color decode(String nm) throws NumberFormatException
는 문자열을 정수로 변환하고, 지정된 불투명 칼라를 돌려줍니다. 이 메서드는 8 진수 및 16 진수를 나타내는 데 사용되는 문자열 형식을 처리합니다.
매개 변수 :
nm
- 24 비트 정수반환 등의 불투명 한 색상 나타내는 문자열 : 새로운 Color 객체를.
죄송합니다 [자바 컬러로 문자열 변환]의 중복되지만, 사용자 친화적이지 않은 솔루션. 자연 언어 입력 만 사용해야합니다. –
문제는 아니지만 사용자의 요구 사항과 매우 관련이 있으므로 질문에이를 추가하는 것을 고려하십시오. @ MindaugasBernatavičius – dic19
가능 (http://stackoverflow.com/questions/2854043/converting-a-string-to-color-in-java) –