Java - 如何使Jtextfield填充整个框架

时间:2013-12-21 09:25:47

标签: java swing frame jtextfield

我正在尝试让JTextArea填充整个框架,因此它看起来有点像记事本或textedit。也可以有一个滚动窗格。 提前致谢! 编辑:JTextArea

3 个答案:

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

enter image description here

答案 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

但从其他答案来看,有 似乎是更简单的方法。