【问题标题】:JOptionPane to return stringJOptionPane 返回字符串
【发布时间】:2012-01-06 13:38:02
【问题描述】:

我的程序中有一个无法使用的删除方法。

基本上我有一个数组,用于将数组写入文本文件。然后可以再次读取该文本文件。

要取消预订,会出现JOptionPane,要求用户输入RoomID

一旦此用户完成此操作,它应该将roomID 的字符串和所有相关详细信息返回到JOptionPane(我在文本区域中有一个返回语句,我的程序找到并返回了正确的信息)。

我的 GUI 类从 listBookings 类调用我的所有方法。

public String deleteBooking(String roomID)
{
    int index = 0;
    for ( Booking s : bookings )
    {
        if ( s.getRoomID().equals(roomID))
        {
            int r = JOptionPane.showOptionDialog,null("Are you sure you would like to delete the following \n"
            + "deleteMessage",
            "Delete a booking",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE,null,null,null);

            if (r == JOptionPane.YES_OPTION) {
                bookings.remove(index);
            }
            if (r == JOptionPane.NO_OPTION){
                return "Booking Was Not Canceled";
            }
        }
        index++;
    }
    return  "  Cannot find room";

新的错误消息<indentifier> 预期

【问题讨论】:

    标签: java string user-interface joptionpane


    【解决方案1】:

    尝试使用静态方法(我不确定这是否是正确的语法):

    int r = JOptionPane.showOptionDialog("Are you sure you would like to delete the following \n"
            + "deleteMessage",
            "Delete a booking",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE);
    
    if (r == JOptionPane.YES_OPTION) {
        // do delete action
    }
    

    【讨论】:

    • 我不确定静态方法是因为我认为我无法传递变量?测试了您给我的那段代码,我得到了几乎相同的错误消息,我将尝试使方法静态感谢您的评论。
    • 啊啊啊……忘记了。在 if 语句的末尾(假设用户说不),添加 } else { return ""; }
    • 当我的方法设为静态时,BlueJ 说我无法做到这一点,因为它是使用非静态变量的非静态方法:(
    • 是的,您不需要将方法设为静态,只需对 JOptionPane 进行静态调用(如我的示例所示)。另外,在参数列表中,在末尾添加三个空值,一个作为第一个参数,如下所示: int r = JOptionPane.showOptionDialog(null, "Are you sure you want to delete the following \n" + " deleteMessage", "删除预订", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,null, null, null); if (r == JOptionPane.YES_OPTION) { // 执行删除操作 }
    • 在 OptionPane 调用结束时,即 [...] JOptionPane.QUESTION_MESSAGE,null, null, null);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2019-03-22
    • 2020-08-07
    相关资源
    最近更新 更多