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并且没有textarea。
答案 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);
}
});
}
}
答案 1 :(得分:0)
您尚未将面板添加到框架中。
答案 2 :(得分: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: