我正在尝试让JTextArea填充整个框架,因此它看起来有点像记事本或textedit。也可以有一个滚动窗格。 提前致谢! 编辑:JTextArea
答案 0 :(得分:4)
试试这个---
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class TextFieldTest {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setLayout(new BorderLayout());
JTextField tf = new JTextField();
f.getContentPane().add(BorderLayout.EAST, tf);
f.pack();
f.setVisible(true);
}
}
答案 1 :(得分:2)
您要做的是设置线条和字符宽度。您可以使用此构造函数
JTextArea jta = new JTextArea(numberOfRows, numberOdCharacter);
^^ ^^
Heigth Width
jta.setLineWrap(true); // wraps the words
jta.setWrapStyleWord(true); // wraps by word instead of character
是的,你可以使用JScrollPane
JScrollPane jsp = new JScrollPane(jta);
panel.add(jsp);
然后打包框架,使其“填充”框架
frame.pack()
参见此示例
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class NoteBookEditor extends JFrame {
JTextArea jta = new JTextArea(40, 100);
JMenuBar menuBar;
JMenu menu;
public NoteBookEditor(){
menuBar = new JMenuBar();
menu = new JMenu("hey");
menuBar.add(menu);
setJMenuBar(menuBar);
add(new JScrollPane(jta));
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
}
public static void createAndShowGui(){
JFrame frame = new NoteBookEditor();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
createAndShowGui();
}
});
}
}
答案 2 :(得分:0)
我会用
http://docs.oracle.com/javase/7/docs/api/java/awt/GridBagLayout.html
http://docs.oracle.com/javase/7/docs/api/java/awt/GridBagConstraints.html#fill
并指定
GridBagConstraints.BOTH
但从其他答案来看,有
似乎是更简单的方法。