【发布时间】:2020-01-31 17:34:21
【问题描述】:
我对在 Java 中处理图形还很陌生,并且一直在尝试制作一个简单的控制台来在窗口中显示基于文本的游戏。我有一个测试类,我正在控制台上工作,但是当我将 JTextArea 添加到我的控制台窗口时,它要么占据整个窗口,要么根本不显示。
这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.awt.Event;
public class GUI {
public static void main(String[] args) {
JFrame frame = new JFrame("AoA");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(1020,760);
frame.setBackground(Color.LIGHT_GRAY);
frame.setResizable(false);
JTextArea jta = new JTextArea(100,100);
jta.setEditable(false);
jta.setBackground(Color.WHITE);
frame.add(jta);
}
}
我知道我的一些导入没有在这个文件中使用,但它们会在最终游戏中使用。我也知道 JTextArea 的大小设置为 100,100,我不确定它是太大还是太小。不过,我真的可以在这方面使用一些帮助。
【问题讨论】:
-
JTextArea jta = new JTextArea(100,100); - (100, 100) 表示列/行,而不是像素。通常您会使用类似: (40, 10) 的内容,然后将文本区域添加到 JScrollPane。然后文本区域的大小将在一行 10 行中显示大约 40 个“W”字符。如果需要更多行,将出现滚动条。 它要么占据整个窗口 - 为什么这是个问题?您只需向框架中添加一个组件。
标签: java swing jframe jtextarea