如何将全宽设置为 JTextArea?我试图获得 JTextArea 的最大可能大小,并对其进行设置,但它只是将 JTextArea 做得更小。
JTextArea textArea = new JTextArea(10, ?);
你不应该明确地这样做。实现这一点的最佳方法是使用正确的布局管理器。例如,如果您将文本区域放在它的中心,BorderLayout
将获得最大尺寸:
Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(new TextArea(), BorderLayout.CENTER);
您必须将 JTextArea 放在 JScrollPane 中。
这是一个工作示例。
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class SimpleFrame implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame("JScroll Pane Test");
JTextArea txtNotes = new JTextArea();
txtNotes.setText("Hello World");
JScrollPane scrollPane = new JScrollPane(txtNotes);
frame.add(scrollPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(800, 600));
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new SimpleFrame());
}
}