尝试在java中的GUI中添加表格下方的文本字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试在java中的GUI中添加表格下方的文本字段相关的知识,希望对你有一定的参考价值。

我目前使用的代码,但只显示表。我正在尝试在它下面添加一个文本字段,但我不确定我该怎么做。我也试图在文本字段上设置一个监听器,我也不太确定如何做到这一点。对不起,如果这是一个愚蠢的问题,我没有Java形式的经验

public class table extends JFrame {
    JTable TestDB;
    public table(){
        setLayout(new FlowLayout());

        String[] columnNames={"First Name","Last Name","Address"};
        Object[][] data={{"Bob","Hazel","HelpMeDr"},{"Yo","Whattup","ezpz"}};

        TestDB=new JTable(data,columnNames);
        TestDB.setPreferredScrollableViewportSize(new Dimension(500,50));
        TestDB.setFillsViewportHeight(true);

        JScrollPane scrollPane=new JScrollPane(TestDB);
        add(scrollPane);
    }
}
答案

您可以使用下一个代码添加文本字段

textField = new JTextField(20);

//add a listener 
textField.addActionListener(this);

现在,为了在与文本字段交互后发生某些事情,您需要创建一个方法

public void actionPerformed(ActionEvent evt) {
    //do this when action performed at the textfield
}

我建议您访问下一个网站以获取更多信息https://docs.oracle.com/javase/tutorial/uiswing/components/textfield.html

另一答案

所有的拳头

最后一点,简单来说,FlowLayout只有在水平对齐组件时才会使用,就好像它是行中的文本一样。

而是使用像BoxLayout这样的另一种布局

    public Table() {
        getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

        String[] columnNames = {"First Name", "Last Name", "Address"};
        Object[][] data = {{"Bob", "Hazel", "HelpMeDr"}, {"Yo", "Whattup", "ezpz"}};

        TestDB = new JTable(data, columnNames);
        TestDB.setPreferredScrollableViewportSize(new Dimension(500, 50));
        TestDB.setFillsViewportHeight(true);

        JScrollPane scrollPane = new JScrollPane(TestDB);
        getContentPane().add(scrollPane);
        JTextField textField = new JTextField();
        getContentPane().add(textField);
    }

最后一件事是文本组件有不少于10种类型的监听器,你必须使用符合你需要的那种,我们的朋友的答案(我upvoted)建议你将使用ActionListener,它将在每次调用时调用用户在文本字段中单击“输入”。请参阅How to Use BoxLayout以更好地理解布局问题和快乐编码^ - ^。

以上是关于尝试在java中的GUI中添加表格下方的文本字段的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 向表中添加新行时重置输入字段

从表格视图中的重复文本字段中保存用户输入?

在 iOS 中以编程方式在另一个文本字段下方添加文本字段

iOS:如何在代码中的表格单元格中为文本字段添加约束

用户输入不适用于在表格视图中以编程方式添加的文本字段

表格会自行添加逗号