Mostrar informação dentro de um JTextField após apertar um JButton

6 respostas
G

Salve pessoal,

estou fazendo um sistema onde digito números um JTextField e após clicar em um JButton eu armazeno eles em variaveis, até ai tudo okay.

Porém tenho outros 3 JTextField no qual preciso mostrar dentro deles os números após clicar em outro JButton, mas não estou conseguindo de forma alguma, alguem pode me ajudar?

6 Respostas

H

Posta seu código para sabermos o que você fez até agora.
Outra coisa está aparecendo esses 3 JTextField e só não está mudando valores ou eles nem aparecem?

G

Este é meu código até o momento, acho que consegui armazenar os números nas variáveis, até ai okay, porem preciso apresentar esses digitos separados nos outros 3 JTextField.

Todos são visíveis no Panel

package com.ap;

import java.awt.Color;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;
public class MediaNum extends JFrame {

private JTextField numeros;
private JTextField txtMaior;
private JTextField txtMenor;
private JTextField txtMedia;

int valor;
int unidade;
int dezena;
int centena;


	
public MediaNum() {
	
	
	
	setTitle("MediaNum");
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	setSize(600,400);
	setResizable(false);
	
	
	JPanel p = new JPanel();
	p.setBackground(Color.white);
	p.setLayout(null);
	
	
	JLabel digit = new JLabel("Digite o numero: ");
	digit.setBounds(20, 20, 120, 20);
	
	numeros = new JTextField();
	numeros.setBounds(20, 40, 200, 30);
	
	
	
	
	JButton OK = new JButton("OK");
	OK.setBounds(225, 40, 140, 30);
	
	
	JButton Exibir = new JButton("Exibir");
	Exibir.setBounds(405, 180, 140, 30);
	
	JLabel Maior = new JLabel("Maior >>> ");
	Maior.setBounds(60,100, 80, 80);
	txtMaior = new JTextField();
	txtMaior.setBounds(200, 125, 200, 30);
	
	JLabel Menor = new JLabel("Menor >>> ");
	Menor.setBounds(60,140, 100, 100);
	txtMenor = new JTextField();
	txtMenor.setBounds(200, 180, 200, 30);
	
	
	JLabel Media = new JLabel("Media >>> ");
	Media.setBounds(60,200, 100, 100);
	txtMedia = new JTextField();
	txtMedia.setBounds(200, 230, 200, 30);

	 
	
	
	
	OK.addActionListener(
			
			new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent e) {
					
				
					int valor = Integer.parseInt(numeros.getText());
				
					int unidade = (valor/1) % 10;
					int dezena = (valor/10) % 10;
					int centena = (valor/100) % 10;
				
					
				}
				
			}
				
				
				
				
			
			
			);
	

	Exibir.addActionListener(
			
			new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent e) {
					
					txtMaior = new JTextField(unidade);
					
				}
				
				
			}
			
			);
	
	
	
	p.add(digit);
	p.add(numeros);
	p.add(OK);
	p.add(Exibir);
	
	p.add(Maior);
	p.add(txtMaior);
	
	p.add(Menor);
	p.add(txtMenor);
	
	p.add(Media);
	p.add(txtMedia);
	add(p);
	
	
	
}




}
H

sua variavél “unidade” está é criando a quantidade de colunas que vai ter o JTextField, pois você está usando no construtor. Outra coisa é que para passar um int para String só é possivel por funções que fazem essa conversão. Ficaria no seu caso +ou- assim

txtMaior = new JTextField();
txtMaior.setText(String.valueOf(unidade));
G

Boa mano, desta forma consegui implementar no JTextField, porem o valor apresentado foi incorreto, sabe me dizer como posso fazer o armazenamento de 3 números digitados no primeiro JTextField separadamente em variáveis diferentes, acredito que o método que usei está errado.

Exemplo eu digitei 123 no primeiro JTF e cliquei no JButton OK para armazena-los, mas na hora de apresentar o valor unidade em vez de ser 3 ele apresentou o valor 0

H

Variaveis do Tipo String tem um comando chamado toCharArray que converte em vetor de char, a partir disso você consegue obter cada char em separado do que foi digitado

staroski

Tópico duplicado, já foi respondido aqui.

Criado 10 de novembro de 2020
Ultima resposta 10 de nov. de 2020
Respostas 6
Participantes 3