创建java下一个/上一个按钮的最简单方法

创建java下一个/上一个按钮的最简单方法,java,button,Java,Button,我知道,当创建按钮时,比如“下一个”和“上一个”,代码可能会有点长,以使这些按钮正常工作 我的教授给我们举了这个例子来创建下一个按钮: private void jbtnNext_Click() { JOptionPane.showMessageDialog(null, "Next" ,"Button Pressed", JOptionPane.INFORMATION_MESSAGE); try { if

我知道,当创建按钮时,比如“下一个”和“上一个”,代码可能会有点长,以使这些按钮正常工作

我的教授给我们举了这个例子来创建下一个按钮:

    private void jbtnNext_Click() {
        JOptionPane.showMessageDialog(null, "Next" ,"Button Pressed", 
            JOptionPane.INFORMATION_MESSAGE);        

    try {
        if (rset.next()) {
            fillTextFields(false);
        }else{
            //Display result in a dialog box
            JOptionPane.showMessageDialog(null, "Not found");
    }
}
    catch (SQLException ex) {
        ex.printStackTrace();
    }
}
尽管如此,我还是不太明白这个简短的if语句是如何让next按钮起作用的。我看到
fillTextFields(false)
使用了一个布尔值,我认为您需要在代码的开头初始化该布尔值。我把
private fillTextFields boolean=false但这似乎不对

我只是希望有人能更好地解释。谢谢:)

好的,
fillTextFields(true)
是一个函数调用,当您传入true/false标志时,它会执行一些操作(您必须查看函数中的代码,才能确切了解它的功能)

字段声明
private fillTextFields boolean=false
无效,您应该在名称之前提供类型,例如:
private boolean fillTextFields=false。除了无效的语法之外,该标志实际上没有任何作用,特别是如果您没有在任何地方使用它

我不明白您还希望在
jbtnNext\u Click()
方法中看到什么。。。当您声明按钮并在UI上单击它时,就会调用此方法。它不会使按钮工作,即使在
jbtnNext\u Click()
方法中没有任何内容,按钮也会工作。例如:

private void jbtnNext_Click() {
    // The button will still work, but it simply won't do anything
}
按钮是否正常工作取决于您将什么视为正常工作的按钮。单击“下一步/上一步”时会发生什么

更新:

我以为我需要布尔值 作出以下声明: “fillTextFields(false)”工作

fillTextFields
方法是在什么地方给你的吗?如果是,那么你不需要声明任何东西,更不用说变量了。如果已经提供了,那么只需调用方法即可。如果未提供,则您需要声明:

private void fillTextFields(bool shouldFill)
{
    if(shouldFill)
    {
        // fill the text fields
    }
    // possibly have an else statement if you need to do something else here
}

否则,为了转到数据库中的下一条记录,您只需在该函数中看到所需的内容。

我认为提供的代码有点短,无法提供很好的解释,发布fillTextFields的代码将更有帮助

我猜这个程序正在做的是从数据库中检索一些数据。“下一步”按钮允许程序遍历已返回的项目

按下下一个按钮后,将显示一个消息框,让您“知道”按钮确实已按下

如果列表中有其他元素(从数据库检索),则rset.next返回true;如果没有,则返回false

如果返回true,则调用fillTextFields方法,我猜这会在屏幕上显示数据(即使没有代码,我也可以推测)。如果没有留下任何东西,将显示一个显示“未找到”的消息框

关于你的问题

private fillTextFields boolean = false;
fillTextFields是一个方法,不能为方法赋值。另外,在Java中,当声明方法和变量时,类型写在名称之前,例如

private int number;
public float myMethod() { }

“下一步”按钮不会执行任何操作,除非您使用该按钮注册操作。我的意思是,下一步按钮的定义如下:

private JButton nextButton = new JButton("Next");
这将创建一个标签为“下一步”的按钮。可能还有一些用于定位按钮的附加代码。为了使该按钮在单击时执行任何操作,它需要在其上设置一个操作,或者必须向其添加一个ActionListener。很多时候,创建按钮的类实现ActionListener,并有一个方法来响应单击,例如:

nextButton.addActionListener(this);
...
...
...
public void actionPerformed(ActionEvent e) {
    // some method implementation
}

只要在按钮上注册了操作侦听器,单击按钮时就会调用actionPerformed方法。您教授的代码中是否存在类似的内容?

您发布的方法可能就是按下按钮时调用的方法。“rset”的类型是什么,以及“rset.next()”的作用是什么?您可能需要在代码中设置一个断点,并在单击“下一步”按钮时逐步查看其执行情况。“rset”是结果集,“rset.next()”应用于在相应标签中显示的记录数据库中向前导航。按“下一步”按钮,我应该能在数据库中找到一条记录。我意识到我在这里输入的语法错误,很抱歉,这实际上是我代码中的正确方式。虽然,我知道不管怎样按钮总是可以工作的,但是我认为我需要布尔声明来使“fillTextFields(false)”工作……我实际上没有“fillTextFields”的代码。我的教授给了我们上面的代码作为一个例子,但是我们必须将其整合到我们的代码中,以使我们朝着正确的方向迈出一步,这意味着我必须自己创建/想出“fillTextFields”方法。我有一个数据库,我希望能够通过GUI从下一个/上一个按钮浏览该数据库。