2017-04-08 1 views
0

스크롤 가능한 텍스트 영역을 만들려고합니다. (스택 오버플로에서와 같이 지금 쓰고있는 것과 비슷합니다.) 이 스크롤 텍스트 영역이 상호 배타적 인 것처럼 보인다 나는JTextArea에서 스크롤 막대가 작동하지 않는 이유는 무엇입니까?

package Notepad; 

import java.awt.EventQueue; 
import java.awt.Font; 

import javax.swing.JFrame; 
import java.awt.BorderLayout; 

import javax.swing.JTextArea; 
import javax.swing.JScrollBar; 

public class test { 

    private JFrame frame; 
    private Font f = new Font(null); 


    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        test window = new test(); 
        window.frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    public test() { 
     initialize(); 
    } 

    private void initialize() { 

     frame = new JFrame(); 
     frame.setBounds(100, 100, 450, 300); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().setLayout(new BorderLayout(0, 0)); 


     JTextArea textArea = new JTextArea(); 
     frame.getContentPane().add(textArea, BorderLayout.CENTER); 
     textArea.setLineWrap(true); 
     textArea.setFont(f.deriveFont(40f)); 


     JScrollBar scrollBar = new JScrollBar(); 

     frame.getContentPane().add(scrollBar, BorderLayout.EAST); 



    } 

} 
+0

[스크롤 창 사용 방법] (https://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html) 또는 [JScrollbar를 사용하여 JFrame을 스크롤하려면 어떻게합니까?] (http : //stackoverflow.com/questions/5928514/how-can-i-scroll-my-jframe-using-the-jscrollbar) – Obicere

+0

아직도 이해하는 데 어려움이 있습니다. 고맙습니다. 위의 링크로 계속 시도해 보겠습니다. @Obicere –

답변

1

사용 JScrollPane 오히려 JScrollBar

잘못된보다는

JScrollPane scroller = new JScrollPane(textArea); 

당신과 같이이의 ScrollPane의 크기를 설정할 수 있습니다

Dimension size = new Dimension (0, 50); 
    scroller.setPreferredSize(size); 

참고 : JScrollPanes을 사용할 때는 괄호 안에 넣거나 나타나지 않아야합니다.

1
JTextArea textArea = new JTextArea(); 
textArea.setLineWrap(true); 
textArea.setFont(f.deriveFont(40f)); 

JScrollPane scrollPane = new JScrollPane(textArea); 
frame.getContentPane().add(scrollPane, BorderLayout.CENTER); 
0

OMG 죄송 사람 사이에 연결을 작성하고 싶습니다. JScrollPar가 아닌 JScrollBar를 가져 왔습니다. 다들 감사 해요. 이 픽스를 테스트하고 다시 알려 드리겠습니다.

편집 :

작동합니다. 고마워요!

JScrollBar scrollBar = new JScrollBar(); 

오른쪽 :

관련 문제