Java 添加&;用一个按钮将字符删除到文本字段

Java 添加&;用一个按钮将字符删除到文本字段,java,swing,jtextfield,Java,Swing,Jtextfield,我想用一个按钮创建一个添加和删除操作符 所以在开始的时候-,应该是不可用的。当我单击“-”时,它应该被添加到文本字段的第一行。如果它已经存在,我们再次单击它,它应该被删除。我该怎么做 这是我迄今为止编写的代码: private void jButtonActionPerformed(java.awt.event.ActionEvent evt) { jTextField.setText( "-" + jTextF

我想用一个按钮创建一个添加和删除操作符

所以在开始的时候-,应该是不可用的。当我单击“-”时,它应该被添加到文本字段的第一行。如果它已经存在,我们再次单击它,它应该被删除。我该怎么做

这是我迄今为止编写的代码:

private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {                                      
    jTextField.setText( "-" + jTextField.getText());
}

如果没有文本,将添加什么文本

试试这个:

    private void jButtonActionPerformed(java.awt.event.ActionEvent evt) 
    {
            if(jTextField.getText().length() != 0)
            {
                jTextField.setText("");
            }
            else
            {
                //Set the text from wherever you are receiving it
            }
    }

当您的字段为空时,您可以将文本设置为您想要的任何内容,如果不是,则文本将变为空。

没有测试此项,但它应该可以工作:

b.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        if (textField.getText().charAt(0) == '-') {
            String toSet = textField.getText();
            toSet = toSet.substring(0, 0).replace("-", "");
            textField.setText(toSet);
        } else {
            textField.setText("-" + textField.getText());
        }

    }

});
如果您有任何问题,请随时提问

试试以下方法:

private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
        String text = jTextField.getText();
        if (text != null && text.indexOf("-") == 0) {
            text = "+" + text.substring(1, text.length());
        } 
        else if (text != null && text.indexOf("+") == 0) {
            text = "-" + text.substring(1, text.length());
        }
        else {
            text = "-"+(text != null ? text : "");
        }
        jTextField.setText(text);
    }

我会在按钮上添加一个新的ActionListener,并用@Override语句定义它的代码。这应该可以做到:

button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String fieldText = textField.getText();

                if (fieldText.substring(0,1).equals("-")){
                    textField.setText(fieldText.substring(1, fieldText.length()));
                } else {
                    textField.setText("-" + fieldText);
                }
            }
        });

一个不同的想法更有效一点,因为您不需要创建这么多临时
String
对象

btn.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        Document doc = field.getDocument();
        try {
            if (doc.getLength() > 0 && doc.getText(0, 1).equals("-")) {
                doc.remove(0, 1);
            } else {
                doc.insertString(0, "-", null);               
            }
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
    }
});

不太对。他想要一个按钮,可以根据文本字段中是否有添加或删除
-
。至少这是我所了解的,有一个数字已经用另一个按钮输入了,不是空的,这是计算器应用程序。@XtremeBaumer哇,我认为该字段的内容需要添加或删除。@MUHAMMADNAUFALAZKIA你能发布你的代码来了解你试图实现的目标吗?让“按钮”成为
JCheckBox
。选中时,获取文本,检查它是否已经以“-”开头,如果没有,则在文本前面加一个前缀。取消选中时,执行相同的检查(但相反,如果是,则从第一个字符中获取子字符串并将其设置为文本。仔细查看
字符串
方法以了解详细信息。还要注意,所有检查都是必要的,因为用户始终可以手动键入
-
符号。这听起来非常简单!