2014-04-04 4 views
-1

Java의 AWT 및 SWING 개념을 사용하여 프로젝트를 개발하려고합니다.JTextArea 메뉴 항목의 줄 번호

나는 Viewline Numbers (즉, 을 선택했습니다)라는 하나의 메뉴 항목이 있습니다. 확인란을 선택하면 다른 문서의 줄 번호가 표시됩니다. 그러나 Editplus Editor와 같이 Document를 사용하여 줄 번호를 동일하게 표시하려고합니다.

는 여기에 내가 에디트 플러스 편집기로처럼 같은 사용하여 문서에 줄 번호를 표시하려면, 내 코드

private void ViewLineNumbersActionPerformed(java.awt.event.ActionEvent evt) { 
      lines = new JTextArea(""); 
    lines.setBackground(Color.LIGHT_GRAY); 
    lines.setEditable(false); 
      lines.setSize(10,10); 
    tx.getDocument().addDocumentListener(new DocumentListener(){ 
     public String getText(){ 
      int caretPosition = tx.getDocument().getLength(); 
          // System.out.println("caretPosition"+ caretPosition); 
      Element root = tx.getDocument().getDefaultRootElement(); 
          // System.out.println("root"+ root); 
      String text = "1" + System.getProperty("line.separator"); 

          int c=root.getElementIndex(caretPosition); 
          // System.out.println(c); 
      for(int i = 2; i < c + 2; i++){ 
       text += i + System.getProperty("line.separator"); 
      } 
      return text; 
     } 
     @Override 
     public void `enter code here`changedUpdate(DocumentEvent de) { 
      lines.setText(getText()); 
     } 
     @Override 
     public void insertUpdate(DocumentEvent de) { 
      lines.setText(getText()); 
     } 

     @Override 
     public void removeUpdate(DocumentEvent de) { 
      lines.setText(getText()); 
     } 
    }); 


      sp.getViewport().add(tx); 
      // sp.setViewportView(tx); 

    sp.setRowHeaderView(lines); 
    } 
+5

* "내 질문에 회신 해주십시오."*. 무엇이 질문입니까? 더 중요한 것은 : [당신은 무엇을 시도 했습니까?] (http://www.whathaveyoutried.com/) 당신의 노력을 보여주는 것은 다른 사람들이 도움을 받도록 장려 할 것입니다. –

+0

좀 더 구체적으로 말씀해 주시고 일부 코드를 보여 주시겠습니까? 그렇지 않으면 도움을 줄 수 없습니까? – JmJ

답변

0

입니다하지만.

줄 번호가 문서의 일부임을 의심 할 것입니다. 같은 구성 요소의 일부로 표시되는 것처럼 보일 수도 있지만 텍스트를 복사/붙여 넣을 때 줄 번호가 포함되지는 않습니다.

위의 내용이 맞다고 가정하면 Text Component Line Number을 사용해보세요. 이 구성 요소가 스크롤 창의 행 머리글에 표시되므로 확인란을 기반으로 구성 요소의 표시 여부를 전환 할 수 있어야합니다.