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

endast value i jTextField addera tal


simkort

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:
   }  

 

 

Länk till kommentar
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

Länk till kommentar
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:
   }

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

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);

}

}

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...