2017-12-19 35 views
0
import javax.swing.*; 
public class text{ 
    public static void main(String Args[]){ 
    JFrame frame = new JFrame(); 
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    frame.setVisible(true); 
    JPanel panel = new JPanel(); 
    JTextArea area = new JTextArea(); 
    panel.add(area); 
    frame.add(panel); 
    } 
} 

컴파일하고 실행하면 JFrame이 표시되고 텍스트 영역이 표시되지 않습니다.내 텍스트 영역이 표시되지 않는 이유는 무엇입니까?

답변

0

프레임에 패널을 추가하지 않았습니다.

+0

나는 게시물에서 그렇게하기위한 것입니다. 나는 그 문제를 해결했으나 여전히 효과가 없다. –

2

먼저 모든 구성 요소를 프레임에 추가 한 다음 표시되도록해야합니다. 그렇지 않으면 프레임이 표시된 후에 동적으로 구성 요소를 추가하려면 다시 유효성 검사 및 다시 그리기가 필요합니다. 자세한 내용은 See How to Make Frames을 참조하십시오.

JTextArea에는 여러 생성자가 있습니다. 기본 생성자는 행과 열의 수를 0으로 설정하고 빈 텍스트를 설정합니다. 이 경우 텍스트 영역이 표시되지 않을 수 있습니다. 다른 생성자를 사용하십시오 (예 : textArea = new JTextArea(5, 20);). 자세한 내용과 예제는 How to Use Text Areas을 참조하십시오. 여기

작은 예입니다 : 코드에서 누락 된 몇 가지 작은 일들이 있었다

import javax.swing.*; 

public class TextAreaDemo{ 
    public static void main(String Args[]){ 
    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      JFrame frame = new JFrame("TextAreaDemo"); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

      JPanel panel = new JPanel(); 
      JTextArea area = new JTextArea(5, 20); 
      panel.add(area); 
      frame.add(panel); 

      frame.pack(); 
      frame.setVisible(true); 
     } 
    }); 
    } 
} 
0

:

JFrame frame = new JFrame(); 
JPanel panel = new JPanel(); 
JTextArea area = new JTextArea(); 
area.setVisible(true); 
area.setSize(100, 100); 
panel.add(area); 
frame.add(panel); 
frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
frame.setVisible(true); 

지역 표시 설정입니다 무엇을했고 무엇을 내가 가진의 주요 차이점 그 지역의 크기. 나는 그것이 당신이 놓친 전부라고 생각합니다. 추가 도움을받을 수있는 링크는 다음과 같습니다. https://www.javatpoint.com/java-jtextarealp :