Como armazenar números de um JTextField e apresenta-los separados em outros JTextField

Salve galera, estou fazendo um exercicio de java e preciso criar um sistema onde dado 3 numeros digitados em um JTextField após clicar em um botão ele irá apresentar separadamente os números dividos em campo: maior numero, menor numero, e média aritmetica dos números.

estou fazendo da seguinte forma, porem ao clicar no botao exibir não ocorre nada, poderiam me ajudar?

OBS: sou iniciante em java.

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 unid;
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 num = Integer.parseInt(numeros.getText()) ;
				
					
					
					centena = (num%1000)/100;
					dezena = (num%100) / 10;
					unid = num%10;
					
					
				}
				
				
			}
			
			);
	

	Exibir.addActionListener(
			
			new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent e) {
					
					if(unid > dezena && unid > centena) {
						
						txtMaior = new JTextField(unid);
						
					}else if (dezena > unid && dezena > centena) {
						
						txtMaior = new JTextField(dezena);
						
					}else if (centena > dezena && centena > unid) {
						
						txtMaior = new JTextField(centena);
						
					}else if(unid < dezena && unid < centena) {
						
						txtMenor = new JTextField(unid);
						
					}else if (dezena < unid && dezena < centena) {
						
						txtMenor = new JTextField(dezena);
					}else if (centena < dezena && centena < unid) {
						
						txtMenor = new JTextField(centena);
					}
					
				}
				
				
			}
			
			);
	
	
	
	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);
	
	
	
}


	
	
	
	
}