로부터 이미지 아이콘 절대 경로 얻기 :사용하여 JLabel의
jLabel1.getIcon().toString();
시 개체 "[email protected]
"만 참조를 반환한다;
절대 경로가 아니므로 아이콘의 절대 경로를 어떻게 반환 할 수 있습니까? 예를 들어
: C:/File/imageicon.jpg
로부터 이미지 아이콘 절대 경로 얻기 :사용하여 JLabel의
jLabel1.getIcon().toString();
시 개체 "[email protected]
"만 참조를 반환한다;
절대 경로가 아니므로 아이콘의 절대 경로를 어떻게 반환 할 수 있습니까? 예를 들어
: C:/File/imageicon.jpg
JLabel jLabel1 = new JLabel();
jLabel1.setIcon(new ImageIcon(getClass().getResource("/lk/edu/ijse/examsimulator/img/Hand With Pen_36px.png")));
if (jLabel1.getIcon() != null) {
Icon iconPath = jLabel1.getIcon();
System.out.println(iconPath.toString());
/* print
* file:/E:/Quick%20access/Documents/NetBeansProjects/ExamSimulator/ExmClientAdmin/build/classes/lk/edu/ijse/examsimulator/img/Hand%20With%20Pen_36px.png
*/
String absolutePath = iconPath.toString().replaceFirst("file:/", "");
absolutePath = absolutePath.replaceAll("%20", " ");
System.out.println(absolutePath);
/* print
*
* E:/Quick access/Documents/NetBeansProjects/ExamSimulator/ExmClientAdmin/build/classes/lk/edu/ijse/examsimulator/img/Hand With Pen_36px.png
*
* it's my image absolute path */
}
코드가 질문에 어떻게 대답하는지에 대한 텍스트를 포함하도록 답을 편집하십시오. 아마도 출력 결과가있는 예제를 추가하십시오. 또한 코드를 다시 포맷 해보십시오. – Yannis
OP가 'toString()'결과가 "[email protected]"가된다고 말합니다. 당신은'toString()'이 파일 경로를 생성한다고 말합니다. 음, 둘 다 있지만 코드의 차이점과 왜'toString()'호출이 다르게 작용하는지 설명하지는 않습니다. – Tom
고마워 ......... 그것에 나는 실수가 있었다. 지금 나는 그것을 교정한다. @ Yannis –
toString()는 항상 문자열 형식의 개체를 반환합니다. jLabel1.getIcon() –
같이 할 수없는 toString()없이 시도해보십시오. 이미지 및 아이콘에는 API가 없으며 일반적으로 파일 시스템 이외의 컨텍스트에서 사용할 수 있습니다. – ControlAltDel
아이콘과 파일이 관련이 없기 때문에 할 수 없습니다. 파일을 읽음으로써 아이콘을 만들 수 있지만 다른 여러 방법 (병 리소스, 소켓, 메모리의 바이트 배열 등)을 사용하여 아이콘을 만들 수도 있습니다. –