| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2006 12:43:17
|
bzy
JavaGuru
![[Avatar]](/images/avatar/b984bddf9e7c8fb09854e208c0284764.jpg)
Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline
|
Procurei aqui mas não achei então vou perguntar:
Tem algum método prático para só permitir números em um JTextField?
Já aproveitando, alguém sabe algum link direto para baixar o Driver (.JAR) do FireBird e o para BD do Access( ).
Value.
|
SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2006 13:00:44
|
RMF
Debugger
Membro desde: 25/08/2006 10:37:09
Mensagens: 60
Offline
|
Brother, ao invés de você instanciar o JTextField, utilize a classe LimitedIntegerJTextField (em anexo) que além de permitir apenas números, ainda pode-se definir o maxlength do campo.
Qualquer dúvida estamos por aqui.
Abraço.
| Nome do arquivo |
LimitedIntegerJTextField.java |
Download
|
| Descrição |
Permite que o usuário digite apenas números num JTextField. |
| Tamanho |
1 Kbytes
|
| Baixado: |
2494 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2006 16:40:05
|
zizegaitero
HelloWorld
![[Avatar]](/images/avatar/793d8e745d2b346c4ddc27a534083243.jpg)
Membro desde: 21/07/2006 10:58:06
Mensagens: 10
Offline
|
eu fiz esse metodo
public void ValidaNumero(JTextField Numero) {
long valor;
if (Numero.getText().length() != 0){
try {
valor = Long.parseLong(Numero.getText());
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Esse Campo só aceita números" ,"Informação",JOptionPane.INFORMATION_MESSAGE);
Numero.grabFocus();
}
}
}
ai vc chama o metodo passando como parametro o JTextField
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2006 23:43:25
|
bzy
JavaGuru
![[Avatar]](/images/avatar/b984bddf9e7c8fb09854e208c0284764.jpg)
Membro desde: 23/08/2006 19:34:00
Mensagens: 215
Localização: São Paulo - Guarulhos
Offline
|
Valeu!
|
SCJP - Sun Certified Java Programmer
http://meumundojava.blogspot.com/
Memento mori. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/12/2006 19:34:12
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
zizegaitero , nao consegui rodar o teu codigo no meu ...
ai vai ...
//package br.com.patterns.chain;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import javax.swing.JButton;
import javax.swing.event.CaretListener;
import javax.swing.event.CaretEvent;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class Frame1 extends JFrame
{
private JTextField jTextField1 = new JTextField();
public Frame1()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
this.setSize(new Dimension(400, 300));
jTextField1.setText("jTextField1");
jTextField1.setBounds(new Rectangle(15, 35, 165, 20));
this.getContentPane().add(jTextField1, null);
}
public void ValidaNumero(JTextField Numero) {
long valor;
if (Numero.getText().length() != 0){
try {
valor = Long.parseLong(Numero.getText());
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Esse Campo só aceita números" ,"Informação",JOptionPane.INFORMATION_MESSAGE);
Numero.grabFocus();
}
}
}
public static void main(String args[])
{
new Frame1().show();
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/12/2006 13:55:59
|
zizegaitero
HelloWorld
![[Avatar]](/images/avatar/793d8e745d2b346c4ddc27a534083243.jpg)
Membro desde: 21/07/2006 10:58:06
Mensagens: 10
Offline
|
vc pode usar no momento que sai o foco do campo.
vc chama o método passando como parametro o nome do campo
ex: ValidaNumero(Campo);
vlw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/12/2006 14:01:48
|
nbluis
GUJ Master
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Cara faz uma annotation que verifica isso, o codigo fica bem mais fácil assim....
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/12/2006 14:57:52
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
É sempre melhor impedir que o usuário faça errado a abrir uma caixa de diálogo na cara dele depois que ele errou.
Uma solução adequada é esta:
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2009 13:47:07
|
lepopps
What is classpath?
Membro desde: 17/09/2008 19:53:32
Mensagens: 6
Offline
|
Ola, amigo .... me desculpe a pergunta mas, como devo utilizar essa classe ?? tipo igual a classe JtextFieldLimited ..... tfNomeFantasia.setDocument(new jTextFieldLimit(60)); ???? ou como devo fazer ???
Filipe Sabella wrote:É sempre melhor impedir que o usuário faça errado a abrir uma caixa de diálogo na cara dele depois que ele errou.
Uma solução adequada é esta:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2009 21:14:07
|
mvargens
JavaEvangelist
Membro desde: 12/05/2008 16:20:26
Mensagens: 301
Localização: Embu
Offline
|
Eu faria assim:
http://www.exampledepot.com/egs/javax.swing.text/formtext_FormTextNum.html
This message was edited 1 time. Last update was at 03/03/2009 21:40:10
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2010 17:40:12
|
daniel.pedro_fernandes
What is classpath?
![[Avatar]](/images/avatar/7e8f203f82a6bad078a36dce35e9e246.jpg)
Membro desde: 17/02/2010 11:33:07
Mensagens: 5
Offline
|
zizegaitero wrote:eu fiz esse metodo
public void ValidaNumero(JTextField Numero) {
long valor;
if (Numero.getText().length() != 0){
try {
valor = Long.parseLong(Numero.getText());
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Esse Campo só aceita números" ,"Informação",JOptionPane.INFORMATION_MESSAGE);
Numero.grabFocus();
}
}
}
ai vc chama o metodo passando como parametro o JTextField
Valeu zizegaitero! Deu certinho para minha necessidade... Muito obrigado mesmo. Os créditos serão dados.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2010 13:27:56
|
claudiocgalvao
Entusiasta Java
Membro desde: 05/02/2009 07:05:40
Mensagens: 24
Localização: São Bernardo do Campo - SP
Offline
|
daniel.pedro_fernandes wrote:
zizegaitero wrote:eu fiz esse metodo
public void ValidaNumero(JTextField Numero) {
long valor;
if (Numero.getText().length() != 0){
try {
valor = Long.parseLong(Numero.getText());
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Esse Campo só aceita números" ,"Informação",JOptionPane.INFORMATION_MESSAGE);
Numero.grabFocus();
}
}
}
ai vc chama o metodo passando como parametro o JTextField
Valeu zizegaitero! Deu certinho para minha necessidade... Muito obrigado mesmo. Os créditos serão dados.
Também consegui segue abaixo:
//Coloquei o método na minha classe Utilitaria
public static void validaNumero(JTextField Numero) {
long valor;
if (Numero.getText().length() != 0) {
try {
valor = Long.parseLong(Numero.getText());
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Esse Campo só aceita números", "Informação", JOptionPane.INFORMATION_MESSAGE);
Numero.grabFocus();// foca o campo
Numero.setText(""); //limpa o campo
}
}
}
//Quando perde o foco passo JTextField
private void bankCodFieldFocusLost(java.awt.event.FocusEvent evt) {
JTextField field = (JTextField) evt.getComponent();
Utilitaria.validaNumero(field);
}
Espero que ajude mais pessoas, com esse exemplo!
|
Graduando Bacharel em Sistemas da Informação.
Universidade Bandeirante de São Paulo - UNIBAN
Formatura ano 12/2010. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/10/2010 15:51:28
|
viniciusalvess
Java Ninja
![[Avatar]](/images/avatar/2ce5c4c3e3cfda2fb5c21d44b204aea8.jpg)
Membro desde: 02/09/2008 12:17:08
Mensagens: 259
Offline
|
Respondendo ai , um que funciona para quem precisar
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2011 14:00:06
|
brenowbc
Debugger
![[Avatar]](/images/avatar/917fb629a072adaa792fe3a16ac0bd08.jpg)
Membro desde: 03/06/2011 22:08:29
Mensagens: 58
Localização: Petrolina-PE
Offline
|
galera o tópico é meio antigo, só que vim procurar isso e não achei uma resposta fácil por aqui.
mas juntanto umas 2 idéias achei um jeito muito simples, e faz essa verificação em tempo real, eis o código:
para substituir para que só fiquem letras, basta alterar no replaceAll:
espero que tenha sido util, um abraço a todos.
|
Usando Default Table Model??? pare com isso: http://www.javasimples.com.br/swing-awt/death-to-defaulttablemodel-abstracttablemodel-rulez/
créditos para o Saab, Java Simples.
------------------------------------------------------------------------------------------------------------------------------
"Ensinar, é aprender duas vezes!" (Joseph Joubert). |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2011 18:37:51
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
brenowbc wrote:galera o tópico é meio antigo, só que vim procurar isso e não achei uma resposta fácil por aqui. mas juntanto umas 2 idéias achei um jeito muito simples, e faz essa verificação em tempo real, eis o código
Simples, mas infelizmente furado. Não use eventos para tratar entradas de teclas em componentes, pois em 90% das vezes, eles não são multiplataforma e eles escondem problemas. Por exemplo, seu código falha se o usuário der CTRL+C num texto, e cola-lo no JTextField com o mouse (não haverá keypress nesse caso). A forma correta de limitar um JTextField é através do objeto Document relacionado a ele. Eis aqui uma classe que limita o JTextField só a números, e limita também a quantidade máxima de dígitos dele: http://www.guj.com.br/java/107425-como-fazer-para-o-campo-textfield-receber-so-numeros#579803 E aqui está o artigo que explica como um Document funciona: http://www.guj.com.br/articles/29 E aqui um artigo falando de Document, DocumentFilter e outros recursos: http://download.oracle.com/javase/tutorial/uiswing/components/generaltext.html
This message was edited 1 time. Last update was at 10/07/2011 18:41:16
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
|
|