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
。选中时,获取文本,检查它是否已经以“-”开头,如果没有,则在文本前面加一个前缀。取消选中时,执行相同的检查(但相反,如果是,则从第一个字符中获取子字符串并将其设置为文本。仔细查看字符串
方法以了解详细信息。还要注意,所有检查都是必要的,因为用户始终可以手动键入-
符号。这听起来非常简单!