2017-12-19 9 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); 
    } 
} 

Wenn ich es kompiliere und laufe, zeigt es einen JFrame und kein textarea darauf.Warum ist mein Textfeld nicht sichtbar?

Antwort

0

Sie haben das Feld nicht zum Rahmen hinzugefügt.

+0

Ich wollte das in der Post tun. Ich habe das Problem behoben, aber es funktioniert immer noch nicht –

2

Sie sollten zuerst alle Komponenten zum Rahmen hinzufügen und dann sichtbar machen. Andernfalls müssen Komponenten dynamisch hinzugefügt werden, nachdem der Frame sichtbar ist. Dies erfordert eine erneute Validierung und Neubemalung. See How to Make Frames für weitere Details.

JTextArea hat mehrere Konstruktoren. Der Standardkonstruktor legt die Anzahl der Zeilen und Spalten auf 0 und auf leeren Text fest. In diesem Fall wird der Textbereich möglicherweise nicht angezeigt. Verwenden Sie einen anderen Konstruktor, z. B .: textArea = new JTextArea(5, 20); Weitere Details und Beispiele finden Sie unter How to Use Text Areas.

Hier ist ein kleines Beispiel:

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

Es fehlen einige Kleinigkeiten aus dem Code waren:

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); 

Der wesentliche Unterschied zwischen dem, was Sie hatten und was ich habe, ist der Bereich sichtbar Einstellung und die Größe dieses Bereichs. Ich denke, das war alles, was du vermisst hast. Hier ist ein Link für zusätzliche Hilfe: https://www.javatpoint.com/java-jtextarealp:

Verwandte Themen