Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 修改JTextField_Java_Jtextfield - Fatal编程技术网

Java 修改JTextField

Java 修改JTextField,java,jtextfield,Java,Jtextfield,我对Java中的JTextField有一个问题。 它可以在Linux Ubuntu上运行,但不能在Mac Os上运行 单击JtextFieldValue时无法修改它。 这是我创建带有JText字段的弹出窗口的功能: protected void createPopup(String popUpText, JPanel panelContent,JList<String> jList,JTextField jTextField,String msg){ if(popu

我对Java中的JTextField有一个问题。 它可以在Linux Ubuntu上运行,但不能在Mac Os上运行

单击JtextFieldValue时无法修改它。

这是我创建带有JText字段的弹出窗口的功能:

    protected void createPopup(String popUpText, JPanel panelContent,JList<String> jList,JTextField jTextField,String msg){
    if(popup!=null){
        buttons.remove(this.controller.getOK_SAUVEGARDE());
        popup.hide();
    }
    JPanel panelPopup;
    if(msg!=null)
        panelPopup = new JPanel(new GridLayout(3,1));
    else
        panelPopup = new JPanel(new GridLayout(4,1));
    JLabel labelPopup = new JLabel(popUpText);
    panelPopup.add(labelPopup);
    if(jTextField!=null){
        jTextField.setEditable(true);
        textPopup = jTextField;
        buttons.put(this.controller.getOK_SAUVEGARDE(), createButton(this.controller.getOK_SAUVEGARDE()));
        panelPopup.add(textPopup);
        panelPopup.add(buttons.get(this.controller.getOK_SAUVEGARDE()));
    }else if (jList!=null){
        niveauList = jList;
        buttons.put(this.controller.getOK_LOAD(), createButton(this.controller.getOK_LOAD()));
        panelPopup.add(niveauList);
        panelPopup.add(buttons.get(this.controller.getOK_LOAD()));
    }else if(msg != null){
        JLabel gameOverText = new JLabel(msg);
        panelPopup.add(gameOverText);
        panelPopup.add(buttons.get(this.controller.getMENU_BUTTON()));
    }
    if(msg==null){
        buttons.put(this.controller.getQUITTER_POPUP(),createButton(this.controller.getQUITTER_POPUP()));
        panelPopup.add(buttons.get(this.controller.getQUITTER_POPUP()));
    }

    PopupFactory popupFactory = PopupFactory.getSharedInstance();
    popup = popupFactory.getPopup(panelContent, panelPopup,this.controller.getMyFrame().getWidth()/2,this.controller.getMyFrame().getHeight()/4);
    popup.show();
}

谢谢你的帮助。

对不起,我不明白你的问题。有什么例外吗?预期的行为是什么?发生了什么事?你能把你的代码重新编译成最简单的核心吗,这样我们就可以自己编译和测试它了?嗨,谢谢你的回答。问题是我无法修改JTextField的内容。例如,我想用任何东西来更改“Nom de la sauvegarde”(不是java代码,而是当我使用我的程序时),但当我点击它时,我无法编写其他文本。在linux上它可以工作,我不知道为什么。我从来没有见过这样的事情发生…你有没有遇到异常?没有异常。。。这是个大错误
createPopup("Nom du niveau ",panelRight,null,new JTextField("Nom de la sauvegarde",14),null);