Improve company productivity with a Business Account.Sign Up

x
?
Solved

How do I make a text field only to accept mathematical operators as first character of input.

Posted on 2009-04-07
3
Medium Priority
?
269 Views
Last Modified: 2013-12-14
How do I make the text field to accept mathematical operators (+, -, *, /) only at char(0). nowhere else. My code lets the program accept the mathematical operators everywhere. Please check my code. I am using netbeans
private void txtNumberActionPerformed(java.awt.event.ActionEvent evt) {
        // Action Listner handling code here:
           if(txtNumber.getText().charAt(0) == '+' ||
              txtNumber.getText().charAt(0) == '-' ||
              txtNumber.getText().charAt(0) == '*' ||
              txtNumber.getText().charAt(0) == '/')
         {
     dataDisplay.append(txtNumber.getText()+ '\n');
     txtNumber.setText(null);
        }
         else
         {
      JOptionPane.showMessageDialog(null,"Sorry, " + txtNumber.getText() +
              " is not a valid entry" + "\n" + "Examples of valid Entry are:"
              + "\n" + "+23.5  " + "-1  " + "/6  " + " *12");
            }
    }

Open in new window

0
Comment
Question by:chandanchoubey
  • 2
3 Comments
 
LVL 12

Accepted Solution

by:
basav_com earned 750 total points
ID: 24087112
Check this:

Use like this:
            if(txtNumber.getText().indexOf("+")> 0 || txtNumber.getText().indexOf("-")> 0 || txtNumber.getText().indexOf("*")> 0 || txtNumber.getText().indexOf("/")> 0 ){
/**
 * @(#)AcceptChars.java Created on Apr 7, 2009
 *
 * Copyright (c) 2007-2008 Subex, Ltd.
 * All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Subex Ltd ("Confidential Information"). You shall not disclose
 * such Confidential Information and shall use it only in accordance
 * with the terms of the license agreement you entered into
 * with Subex Ltd.
 */
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
 
/**
 * @author basaveswar.kureti
 *
 */
public class AcceptChars extends Frame implements TextListener {
	TextField txtNumber;
	AcceptChars(){
		txtNumber = new TextField(20);
		setLayout(new FlowLayout());
		add(txtNumber);
		setSize(500,400);
		setVisible(true);
		txtNumber.addTextListener(this);
		
	}
	
	public void textValueChanged(TextEvent  evt) {
        // Action Listner handling code here:
		if(txtNumber.getText().indexOf("+")> 0 || txtNumber.getText().indexOf("-")> 0 || txtNumber.getText().indexOf("*")> 0 || txtNumber.getText().indexOf("/")> 0 ){
			
   	      JOptionPane.showMessageDialog(null,"Sorry, " + txtNumber.getText() +
	              " is not a valid entry" + "\n" + "Examples of valid Entry are:"
	              + "\n" + "+23.5  " + "-1  " + "/6  " + " *12");
   	      String txt = txtNumber.getText();
   	       txtNumber.setText(txt.substring(0,txt.length()-1));
           }
		
 
	}
	
	public static void main(String args[]){
		new AcceptChars();
	}
 
}

Open in new window

0
 

Author Comment

by:chandanchoubey
ID: 24093241
Thanks basav_com. I appreciate your help. But if I input ++40 or --40. It accepts. I want only +40 or -40 to accept. If you can help me with this that will be great!
0
 

Author Closing Comment

by:chandanchoubey
ID: 31567454
Thanks basav_com. I appreciate your help. But if I input ++40 or --40. It accepts. I want only +40 or -40 to accept. If you can help me with this that will be great!
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…

606 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question