Hello!
380 K is huge?
I am creating a calculator, and I need TextFields to input numbers to calculate.
If, by mistake or deliberately, user should type a letter or anything but numbers, the textField should 'clear' itself. Not set invisible, just clear the textField.
here is the picture:
http: //shrani.si/f/a/mT/4hydyIgw/screenshot-truscalcpath-.png
ok, here is the main code:
// Here I call my Truss Class, so I can use it
// through the whole program
Truss2Class Truss = new Truss2Class();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try
{
VnosV_class();
// double a = Double(String WeightTextField.getText());
// I display Truss Class content
TrussClassNameLabel.setText(Truss.T_name());
TrussClassWeightLabel.setText(String.valueOf(Truss.T_weight()));
TrussClassLengthLabel.setText(String.valueOf(Truss.T_length()));
TrussClassSpanLabel.setText(String.valueOf(Truss.T_span()));
TrussClassLeftEndLabel.setText(String.valueOf(Truss.T_leftEnd()));
TrussClassRightEndLabel.setText(String.valueOf(Truss.T_rightEnd()));
jTextArea1.append(String.valueOf(Truss.T_weight())); // now, this is NOT adding text into next line...
jTextArea1.append(String.valueOf(Truss.T_length())); // I need to be added in next line.
jTextArea1.append(String.valueOf(Truss.T_span()));
jTextArea1.append(String.valueOf(Truss.T_leftEnd()));
jTextArea1.append(String.valueOf(Truss.T_rightEnd()));
}
catch (Exception e) {
}
}
private void VnosV_class () {
// Here I try to check if input is correct (one string, rest should be double)
try {
Truss.setT_name(NameTextField.getText());
Truss.setT_weight(Vejica.StringToDouble(WeightTextField.getText())); // I call Vejica Class
Truss.setT_length(Vejica.StringToDouble(LengthTextField.getText())); // to set it in right decimal character
Truss.setT_span(Vejica.StringToDouble(SpanTextField.getText()));
Truss.setT_leftEnd(Vejica.StringToDouble(LeftEndTextField.getText()));
Truss.setT_rightEnd( Vejica.StringToDouble(LengthTextField.getText()) - Vejica.StringToDouble(SpanTextField.getText()) - Vejica.StringToDouble(LeftEndTextField.getText()) );
}
catch (Exception e) { // in case something goes wrong:
Truss.setT_name("");
Truss.setT_weight(0);
Truss.setT_length(0);
Truss.setT_span(0);
Truss.setT_leftEnd(0);
Truss.setT_rightEnd(0);
}
}
private void WeightTextFieldCaretUpdate(javax.swing.event.CaretEvent evt) {
try {
String number = WeightTextField.getText();
Vejica.StringToDouble(number);
WeightLabel.setText(String.valueOf(number) + " Weight");
//WeightTextField.setInputVerifier(arg0);
}
catch (Exception e) {
WeightTextField.setText("");
}
}
private void LengthTextFieldCaretUpdate(javax.swing.event.CaretEvent evt) {
try {
String number = LengthTextField.getText();
Vejica.StringToDouble(number);
LengthLabel.setText(String.valueOf(number) + " Length");
}
catch (Exception e) {
LengthTextField.setText("");
}
}
private void SpanTextFieldCaretUpdate(javax.swing.event.CaretEvent evt) {
try {
String number = SpanTextField.getText();
Vejica.StringToDouble(number);
double num = Double.parseDouble(number);
String biger = LengthTextField.getText();
Vejica.StringToDouble(biger);
double big = Double.parseDouble(biger);
if ( num > big ) {
SpanTextField.setText("");
SpanLabel.setText("Span");
}
else {
SpanLabel.setText( (big - num) + " Span" );
}
}
catch (Exception e) {
SpanTextField.setText("");
}
}
private void LeftEndTextFieldCaretUpdate(javax.swing.event.CaretEvent evt) {
try {
String number = LeftEndTextField.getText();
Vejica.StringToDouble(number);
LeftEndLabel.setText(String.valueOf(number) + " Left End");
}
catch (Exception e) {
LeftEndTextField.setText("");
}
}
Here is Vejica Class, that I use to check for input (string to double)
public class Vejica {
public static double StringToDouble(String stringNum) {
String decimalCharacter = ".";
// string decimalCharacter = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
/**
*This class I made in order to 'transform/translste'
* string to double. I replace whatever (well just comma and fullstop)
* decimal separator with fullstop(.) .
* I have in C# this code:
* string decimalCharacter = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
*/
stringNum = stringNum.replace(".", decimalCharacter);
stringNum = stringNum.replace(",", decimalCharacter);
return Double.parseDouble(stringNum);
}
}
And here is my Truss Class, where I store the input
public class Truss2Class {
/**
*Here are stored
* calculation data
*(operants)
*/
private String NameTruss;
private double WeightTruss;
private double LengthTruss;
private double SpanTruss;
private double LeftEndTruss;
private double RightEndTruss;
//here I can get my calculation operants
public String T_name() {
return NameTruss;
}
public double T_weight() {
return WeightTruss;
}
public double T_length() {
return LengthTruss;
}
public double T_span() {
return SpanTruss;
}
public double T_leftEnd() {
return LeftEndTruss;
}
public double T_rightEnd() {
return RightEndTruss;
}
//here I can set new value
//of my operants
public void setT_name(String name) {
NameTruss = name;
}
public void setT_weight(double weight) {
WeightTruss = weight;
}
public void setT_length(double length) {
LengthTruss = length;
}
public void setT_span(double span) {
SpanTruss = span;
}
public void setT_leftEnd(double leftEnd) {
LeftEndTruss = leftEnd;
}
public void setT_rightEnd( double rightEnd) {
RightEndTruss = rightEnd;
}
}
Hope you could help me now...
Kind regards, Grom