2016-09-20 2 views
0

좋아요,이 웹 사이트에서이 주제에 관한 거의 모든 글을 읽었지만, 솔직히 말해서 혼란 스럽습니다. 아무도 내 코드와 작동하지 않습니다. 나는 TextArea의 JScrollPane

JTextArea ttt=new JTextArea(""); 
ttt.setSize(500, 300); 
ttt.setLocation(10, 100); 
ttt.setEditable(false); 

다음이 선으로 스크롤을 생성하고, 텍스트 영역

JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 

에 추가 그리고 나중에 내 JFrame의에

myForm.add(sp); 

으로 그것을 추가하는 간단한 텍스트 영역을 만들었습니다 나는 대부분의 쓰레드를 읽었고,이 코드는 작동해야하지만 그렇지 않다. ScrollPane을 추가하기 전에 프레임에 TextArea가 표시되었지만 이제 전체 TextArea가 표시되지 않습니다. 고맙습니다.

편집; 여기 예를 들어, 내 작동하지 않습니다

public class Test2 { 

    public static void main(String[] args) { 
     JFrame myForm=new JFrame("Connect-4"); 
     myForm.setLayout(new GridLayout(4,2)); // assign layout 
     myForm.setSize(new Dimension(500,400)); // size 

     JTextArea ttt = new JTextArea (3,3); 
     ttt.setEditable(false); 
     //ttt.setSize(500, 300); 
     //ttt.setLocation(10, 100);  
     JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
     myForm.add(sp); 

     myForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     myForm.setLayout(null); 
     myForm.setVisible(true); 

    } 
} 

편집 2; 2 Jlabel, 2 텍스트 필드, 버튼 및 텍스트 영역 image

편집 3;

public class Test2 { 

    public static void main(String[] args) { 
       JButton button=new JButton("Add"); 
     //button.setSize(100, 50); 
     //button.setLocation(450, 40); 


     JTextField tf1=new JTextField(); 
     tf1.setSize(150, 30); 
     tf1.setLocation(70, 52); 


     JLabel l1=new JLabel("Name"); 
     //l1.setSize(51, 50); 
     //l1.setLocation(10, 40); 
     l1.setFont(new Font("", Font.PLAIN, 20)); 


     JTextField tf2=new JTextField(); 
     tf2.setSize(150, 30); 
     tf2.setLocation(285, 52); 

     JLabel l2=new JLabel("Phone"); 
     l2.setSize(55, 50); 
     l2.setLocation(225, 40); 
     l2.setFont(new Font("", Font.PLAIN, 20)); 

     ////// 
     JTextArea ttt=new JTextArea(""); 
     ttt.setSize(500, 300); 
     ttt.setLocation(10, 100); 

     JPanel panel1=new JPanel(new FlowLayout()); 
     panel1.add(l1); 
     panel1.add(tf1); 
     panel1.add(l2); 
     panel1.add(tf2);  
     panel1.add(button); 


     JPanel panel2=new JPanel(); 
     panel2.add(new JButton("FSFSD")); 
     panel2.add(new JButton("RIGHT")); 

     JPanel all=new JPanel(new BorderLayout()); 
     all.add(panel1, BorderLayout.NORTH); 
     all.add(ttt, BorderLayout.CENTER); 

     JFrame frame=new JFrame(); 
     frame.setContentPane(all); 
     //frame.add(all); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setSize(400, 500); 
     frame.setVisible(true); 


    } 
} 
+1

코드에서 문장의 위치는 GUI가 잘 작동하도록 매우 중요합니다. 코드 구성 방법에 대한 자세한 코드는 우리가 여러분을 도울 수 있도록 도와줍니다. –

+0

@YoungMillie 알겠습니다. – Ahmed

+0

'main' 메소드의 끝 부분에'myForm.setLayout (null);을 제거하십시오. – Thomas

답변

0

예를 들어도 폭 과 높이가 포함되어 있는지 확인 다음 레이아웃 :

myForm.setLayout(new GridLayout(4,2)); 

다음

myForm.setLayout(null); 

와 제거는이 라인을 제거하고 당신은 당신의 텍스트 영역을 볼 수 있습니다.

프레임을 표시하기 전에 myFrame.pack()으로 전화 할 수도 있습니다.

+0

괜찮 았지만 어떻게 textarea.setPosition()과 관련이있는 것처럼 위치를 설정합니까? – Ahmed

+0

@Ahmed 레이아웃 관리자가 대신 해줍니다. GUI에 맞는 레이아웃 관리자를 선택하면 모든 직위가 처리됩니다. 위치를 수동으로 지정하지 마십시오. – user1803551

+0

@Ahmed 언어를 시청하십시오. 레이아웃 관리자는 수동으로 구성 요소를 설정하기 때문에 구성 요소를 정렬합니다. 귀하의 질문은 텍스트 영역의 위치를 ​​지정하는 것에 대해 아무 것도 말하지 않으며 GUI가 어떻게 보이는지 보여주지 않으므로 아무도이 시점에서 당신을 도울 수 없습니다. – user1803551

0

텍스트 영역을 인스턴스화는

JTextArea ttt = new JTextArea (3,3); 
ttt.setEditable(false); 
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
myJFrame.add(sp); 

이 JFrame의 적당한 layaut와 당신은을 설정하는

myJFrame.setLayout(new GridLayout(4,2)); // assign layout 
myJFrame.setSize(new Dimension(500,400)); // size 
+0

아직 작동하지 않습니다. 원래 게시물에 코드를 추가했습니다. 모양이 맞으면 – Ahmed