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