2013-02-18 2 views
1

안녕하세요. 나는 프로그램을 만들고 TableModel을 사용하고 있습니다. 6 열에 문자열이 있습니다. 여섯 번째 열 문자열을 URL처럼 보이게하고 싶습니다. 내가 URL처럼 보일 때, 나는 그것을 파란색으로 바꾸고 밑줄을 긋는 것을 의미합니다. 그렇게 할 수 있습니까?TableModel에서 String이 URL처럼 보이게하십시오.

답변

1

일이 JTable의를 cerating에 아주 좋은 튜토리얼 (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#modelchange)를 가지고 할 것입니다. 시작하기 전에 그냥 지나쳐 라. 이 자습서가 도움이되기를 바랍니다. 하지만 아래는 제 제안입니다.

("<html><b><u>link</u></html>"); 

<html><b><a href="link">bold</a></b></html> 

그러나 일의 유사한 종류, 난 그냥 디스플레이에 영향을하는 모델의 데이터를 변경하는 것을 권장하지 않습니다. 대신이 효과를 달성하고 테이블에 설정할 사용자 지정 셀 렌더러를 만들 것입니다. 텍스트를 HTML로 래핑하거나 렌더러에서 html을 모방하도록 글꼴 색 및 스타일 속성을 수동으로 설정할 수 있습니다.

이제 html에 URL을 포함하더라도 여전히 클릭 할 수 없습니다. 테이블에 구성 요소가 없습니다. URL을 클릭 할 때 실제로 편집 모드로 들어가고 싶지는 않습니다. 당신은 그 링크를 열려고합니다. 이를 수행하기 위해 마우스 리스너를 테이블 자체에 추가합니다. 클릭 이벤트를 수신하면 프로그래밍 방식으로 끝난 셀을 결정하고 모델로 돌아가서 URL을 가져온 다음 마지막으로 다른 Java API 호출을 사용하여 해당 URL을 엽니 다.

1

나는 당신이 단순히

<html>...</html> 

포함 된 문자열을 만들 수 있습니다 확신과 작동합니다. html 태그와 마찬가지로 html 태그 안에 링크를 작성하십시오. 파란색으로 나타나게하려면 추가 코드를 추가해야합니다. 내 생각 :

<font color='blue'> 

2

jtable에 사용자 정의 TableCellRenderer를 작성해야합니다. 이 부분은 link을 참조하십시오. 도움이 될 것입니다.

관련 문제