1

如何将全宽设置为 JTextArea?我试图获得 JTextArea 的最大可能大小,并对其进行设置,但它只是将 JTextArea 做得更小。

JTextArea textArea = new JTextArea(10, ?);
4

2 回答 2

3

你不应该明确地这样做。实现这一点的最佳方法是使用正确的布局管理器。例如,如果您将文本区域放在它的中心,BorderLayout将获得最大尺寸:

Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(new TextArea(), BorderLayout.CENTER);
于 2013-05-25T21:34:27.707 回答
2

您必须将 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());
    }

}
于 2013-05-25T22:17:47.297 回答