Just nu i M3-nätverket
Gå till innehåll
simkort

endast value i jTextField addera tal

Rekommendera Poster

man lägger ut en button (jButton1)

 

sedan jTextField1 jTextField2 jTextField3

 

Nu kan man skriva in både siffror och text

 

Skulle vilja få till så att det enbart

 

gick att använda siffror, hur gör man.

 

här nedan koden i jButton1.

 

 

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

   //---------------------------------------        
   int value1 = Integer.parseInt(jTextField1.getText()); 
   int value2 = Integer.parseInt(jTextField2.getText());        

 int sum = value1 + value2;        

jTextField3.setText(Integer.toString(sum));         

  //----------------------------------------    
       // TODO add your handling code here:
   }  

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Enligt http://stackoverflow.com/questions/1378978/using-the-netbeans-gui-editor-how-can-i-create-a-jtextfield-or-jformattedtext-f skriver man koden som kollar om där finns annat än siffror i JTextField - Property tab - inputVerifier (kanske redan finns något lämpligt fördefinierat). Du får byta ut innehållet i exemplets verifyText mot lämplig kod. Sidan http://forums.netbeans.org/post-95519.html&highlight= har en bild. Diverse relevant information finns på http://stackoverflow.com/questions/3412135/how-to-validate-if-text-entered-is-a-numeric-number

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Det var helt omöjligt att få till det på annat sätt.

Tack ändå Cecilia.

Löste det genom att lägga till KeyPressed, se nedan.

 

 

 private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
     //  -----------------------------------------------------------        
       if(evt.getKeyCode() >= 58) { //57 = 9 på tangentbordet
 jTextField1.setText("Siffror");
     }      
     if(evt.getKeyCode() <= 47 ) { //48 = 0 på tangentbordet
 jTextField1.setText("Siffror");   
   }   
    if(evt.getKeyCode() == 32 ) { //mellanslag
 jTextField1.setText("");   
   }    
     if(evt.getKeyCode() == 8 ) {  //backspace
 jTextField1.setText("");   
   }     
//  ----------------------------------------------------------------

 // TODO add your handling code here:
   }

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Denna lilla klass har en JFrame med ett JTextField som enbart tillåter siffror.

 

Jag ska vara ärlig å säga att det var ett tag sedan jag skrev Swing/AWT så mitt minne sviker lite = det finns säkert snyggare lösningar.

 

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;

public class Test extends JFrame {
private JTextField textField;

public Test() {

	setLayout(new BorderLayout());
	textField = new JTextField();

	textField.addKeyListener(new KeyAdapter() {
		@Override
		public void keyReleased(KeyEvent e) {
			textField.setText(textField.getText().replaceAll("[^0-9]+", ""));
		}
	});

	add(textField, BorderLayout.CENTER);

}

public static void main(String[] args) {

	Test test = new Test();
	test.pack();

	test.setVisible(true);
	WindowListener l = new WindowAdapter() {
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	};
	test.addWindowListener(l);

}

}

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...