2011-01-04 6 views
3

메시지 기능을 수행하고 있는데 "읽음 = 아니오"로 된 곳을 과감하게 말하고 싶습니다. 읽은 후 읽으면 = 예가됩니다. 나는 데이터베이스 부분을 이미 끝 냈지만 심각하게 생각합니다. 테이블 렌더링을하는 법을 모르겠다. 나는 아직도 자바에서 매우 신선하다 ... 누구든지 도울 수 있는가? 많이 고맙습니다!JTable에서 전체 데이터 행을 굵게 만드는 방법은 무엇입니까?

+0

@Charles는이 두 태그로 다른 스윙의 관련 스레드를 편집하기 때문에 새 태그를 편집하고 제거하는 이유가 있습니다 ... – mKorbel

+0

@mKorbel, 외부인의 관점에서이 질문도 아니고 다른 질문도 아닙니다. 두 개의 질문은 새 태그를 "windowlistener"에 대해서도 * 언급 * 한 것으로 편집했고, 세 번째 질문은 대답에서 언급했습니다 : * 당신의 대답. 태그는 질문이있는 사람들이 찾을 수 있도록 질문을 분류하는 데 도움이됩니다. 새로운 태그가 * 오히려 오래된 * 질문을 분류하는 데 도움이된다고 믿는다면, 태그를 곧 추가 할 더 많은 질문을 찾을 것을 제안하지만 편집 내용을 되돌릴 수는 있습니다. 나는 유일한 공격적인 새로운 꼬리표 deleter가 아니다! – Charles

+0

답장을 보내 주셔서 감사합니다. 그렇습니다. 정확히 ... windowlistener는 일반 Java Swings Listener이며 OP와 답변자에 의해 언급되었습니다.이 스레드는 prepareRenderer funkcionalities에 대한 링크이며, Swing을 정리합니다. 관련된 질문을 추가하고 거기에 몇 가지 새로운 태그를 추가했습니다. 편집의 멀티 플레이로 확인한 부분처럼 보입니다.이 두 가지에 대해 아마도 잊어 버렸을 것입니다 :-), 결코 마음이 다시 생기지 않을 것입니다 .- – mKorbel

답변

9

당신이 그것을 HTML을 사용하여 만들 수 있습니다

String str = "<html><b>this is bold</b> this is normal </html>"; 
+0

감사 ! 하지만 실제로는 자바 SE 프로그램입니다 ... – Lucifer

+1

예 스윙 만 허용됩니다. –

+0

괜찮아요. if (msg.getRead() == "No") {msg.setRead (""+ msg.getRead() + ""); data [i] [4] = msg.getRead(); } myTableModel에서이 작업을 수행하면 표시되지 않습니다 ... – Lucifer

5

내가, 예 = 굵게 여기서 "= 아니오를 읽기"하고 내가 그것을 클릭 한 후, 그것을 읽고 될 것이다 길을 원하고 unbold ...

Table Row Rendering 접근 방식을 사용하면 행의 데이터를 기반으로 행을 렌더링 할 수 있습니다. 이전 게시물을 소생

c.setFont( c.getFont().deriveFont(Font.BOLD)); 
2

미안하지만, 나는이 매우 유사 뭔가를 찾고 있었다 친절 그것은 비록 (내 자신의 솔루션을 내놓았다 : 당신이 다음을 사용 주어진 예제의 코드를 수정해야 할 때 Jigar의 답변에서 벗어난 플레이). 필자의 경우에는 현재 버전 (4 번째 열)과 최신 버전의 스크립트/프로그램 (3 번째 열)을 모두 표시하는 스크립트/프로그램 표가 있습니다. 나는 최신이 아닌 것을 쉽게 발견 할 수 있도록하고 싶었다. 다른 곳에서 본 모든 솔루션은 DefaultCellRenderer을 변경하는 방법을 제공하는 것 같았지만 이미 채워진 테이블에서 활성화하는 방법은 언급하지 않았습니다 (실제로는 볼 수 있습니다). 결과적으로, 나는 "Keep It Simple Stupid"(KISS for short) 사고 방식을 통해 내 자신의 방법을 알아 내고 아래 코드를 생각해 냈습니다 ... 누군가 다른 사람이 유용하다고 생각하면 좋을 것입니다.

 for(int r=0;r<table.getRowCount();r++) { 
      if(!table.getValueAt(r, 2).equals(table.getValueAt(r, 3))) { 
       for(int c=0;c<table.getColumnCount();c++) { 
        table.setValueAt("<html><b>" + table.getValueAt(r, c) + "</b></html>", r, c); 
       } 
      } 
     } 

내가 거기에 다른,보다 효율적인 방법이 확신 해요 ...하지만 내가 실제로 내 상황에서 일 자바의 내 (여전히 제한) 지식을 가지고 올 수 있었는지했다. 다시 말하지만, 오래된 게시물을 되살아 드려 죄송합니다. 그러나이 상황이 비슷한 상황에있는 다른 사람들이 내 자신에게 도움이되기를 바랍니다.

관련 문제