[英]Java - How to make a Jtextfield fill the whole frame
我正在尝试使JTextArea填充整个框架,因此它看起来有点像记事本或textedit。 也可以有一个滚动窗格。 提前致谢! 编辑:JTextArea
尝试这个 - -
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);
}
}
您要设置行和字符的宽度。 您可以使用此构造函数
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();
}
});
}
}
我会用
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
但是从其他答案来看
似乎是更简单的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.