Eu já resolvi, o único problema que ele tinha era pra pegar os dados dos TextFields para que fossem utilizados no algoritmo da tabuada.
Mas já esolvi:
[code]import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import java.awt.Color;
public class TabuadaGrafica extends JFrame implements WindowListener {
JLabel lB;
JButton botaoCalc;
JButton botaoLimp;
JButton botaoClose;
JTextArea aAreaTexto;
// private JLabel labelValor = new JLabel(“0”);
private JTextField fTexto = new JTextField(15);
private JTextArea areaTexto = new JTextArea(5,20);
//— método construtor: ------
public TabuadaGrafica() {
JFrame tela = new JFrame();
setTitle(“Tabuada Gráfica - by: Francis”);
this.setResizable(false);
this.setLayout(new BorderLayout());
/** variáveis */
JLabel lB = new JLabel(“Informe o número a calcular a tabuada:”);
JButton botaoCalc = new JButton("Calcular");
JButton botaoLimp = new JButton("Limpar");
JButton botaoClose = new JButton("Sobre");
fTexto.setText("0");
fTexto.setForeground(Color.blue);
areaTexto.setEditable(true);
areaTexto.setLineWrap(true);
JPanel pTopo = new JPanel();
pTopo.add("East", lB);
pTopo.add("West", fTexto);
JPanel pCentro = new JPanel();
pCentro.add("Center", areaTexto);
JPanel pBotoes = new JPanel();
pBotoes.setLayout(new FlowLayout());
pBotoes.add(botaoCalc);
pBotoes.add(botaoLimp);
pBotoes.add(botaoClose);
/**---- adicionando eventos aos botões ----*/
//chamada da classe do evento do botão para calcular
ActionListener listAdd = new CalcularListner();
botaoCalc.addActionListener(listAdd);
//tratador de eventos para botão limpar:
ActionListener listLimp = new EventLimp();
botaoLimp.addActionListener(listLimp);
// chamada do listener para botao sair
ActionListener listSobre = new EventoSobre();
botaoClose.addActionListener(listSobre);
// EventLimpar eventoLimp = new EventLimpar();
// botaoLimp.addActionListener(eventoLimp);
getContentPane().add(pTopo, BorderLayout.NORTH);
getContentPane().add(pCentro, BorderLayout.CENTER);
getContentPane().add(pBotoes, BorderLayout.SOUTH);
}
class CalcularListner implements ActionListener {
public void actionPerformed(ActionEvent e) {
int valor;
int cont;
String num;
String resultado = "";
try {
/** num = JOptionPane.showInputDialog(null,"Informe um número para calcular a tabuada: "
,"Francis - www.koderzone.com",JOptionPane.INFORMATION_MESSAGE); */
num = fTexto.getText();
valor = Integer.parseInt(num);
for(int i = 1; i <= 10; i ++) {
resultado += "\n" + i +"x" + valor + "=" + i * valor;
// resultado += Integer.parseInt(fTexto.getText()) + "\n" + i +"x" + valor + "=" + i * valor;
// resultado += Integer.parseInt(fTexto.getText()) + "x" + String.valueOf(i) + " = " + String.valueOf(i * valor) + "\n";
}
//JOptionPane.showMessageDialog(null, resultado,"Tabuada",JOptionPane.INFORMATION_MESSAGE);
//JOptionPane.showMessageDialog(null, "Tabuada do " + valor + ":" + resultado);
areaTexto.append("Tabuada: \n" + resultado + "\n");
} catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Valor Inválido!",
"Informações",JOptionPane.INFORMATION_MESSAGE);
areaTexto.append("Valor inválido \n");
}
}
}
class EventLimp implements ActionListener {
public void actionPerformed(ActionEvent e) {
fTexto.setText("");
areaTexto.setText("");
}
}
//------- métodos listeners: -------------
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public static void main(String[] args) {
TabuadaGrafica tab = new TabuadaGrafica();
tab.setSize(500,300);
tab.setLocation(300,150);
tab.setVisible(true);
}
}[/code]
salve como outra classe:
[code] import javax.swing.;
import java.awt.event.;
import java.awt.*;
public class EventoSobre implements ActionListener {
// método listener:
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,“Por: Francis Rodrigues\n\nvisitewww.koderzone.com”, “Informações”, JOptionPane.INFORMATION_MESSAGE);
//System.exit(0);
}
}[/code]
Outra maneira é essa:
[code]import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import java.awt.Color;
public class TabOptionPane extends JFrame implements WindowListener {
JLabel lB;
JButton botaoCalc;
JButton botaoLimp;
JButton botaoClose;
JTextArea aAreaTexto;
// private JLabel labelValor = new JLabel("0");
private JTextField fTexto = new JTextField(15);
private JTextArea areaTexto = new JTextArea(5,20);
//— método construtor: ------
public TabOptionPane() {
JFrame tela = new JFrame();
setTitle(“Tabuada - by: Francis”);
this.setResizable(false);
this.setLayout(new BorderLayout());
/** variáveis */
JLabel lB = new JLabel(“Informe o número a calcular a tabuada:”);
JButton botaoCalc = new JButton("Calcular");
JButton botaoLimp = new JButton("Limpar");
JButton botaoClose = new JButton("Sobre");
fTexto.setText("0");
fTexto.setForeground(Color.blue);
areaTexto.setEditable(true);
areaTexto.setLineWrap(true);
JPanel pTopo = new JPanel();
// pTopo.setLayout(new GridLayout(3,4));
//pTopo.add(lB);
pTopo.add("East", lB);
pTopo.add("West", fTexto);
JPanel pCentro = new JPanel();
//pCentro.setLayout(new BorderLayout());
pCentro.add("Center", areaTexto);
JPanel pBotoes = new JPanel();
pBotoes.setLayout(new FlowLayout());
pBotoes.add(botaoCalc);
pBotoes.add(botaoLimp);
pBotoes.add(botaoClose);
/**---- adicionando eventos aos botões ----*/
//chamada da classe do evento do botão para calcular
ActionListener listAdd = new CalcularListner();
botaoCalc.addActionListener(listAdd);
//tratador de eventos para botão limpar:
ActionListener listLimp = new EventLimp();
botaoLimp.addActionListener(listLimp);
// chamada do listener para botao sair
ActionListener listSobre = new EventoSobre();
botaoClose.addActionListener(listSobre);
// EventLimpar eventoLimp = new EventLimpar();
// botaoLimp.addActionListener(eventoLimp);
getContentPane().add(pTopo, BorderLayout.NORTH);
getContentPane().add(pCentro, BorderLayout.CENTER);
getContentPane().add(pBotoes, BorderLayout.SOUTH);
}
class CalcularListner implements ActionListener {
public void actionPerformed(ActionEvent e) {
int valor;
int cont;
String num;
String resultado = "";
try {
/** num = JOptionPane.showInputDialog(null,"Informe um número para calcular a tabuada: "
,"Francis - www.koderzone.com",JOptionPane.INFORMATION_MESSAGE); */
num = fTexto.getText();
valor = Integer.parseInt(num);
for(int i = 1; i <= 10; i ++) {
resultado += "\n" + i +"x" + valor + "=" + i * valor;
// resultado += Integer.parseInt(fTexto.getText()) + "\n" + i +"x" + valor + "=" + i * valor;
// resultado += Integer.parseInt(fTexto.getText()) + "x" + String.valueOf(i) + " = " + String.valueOf(i * valor) + "\n";
}
//JOptionPane.showMessageDialog(null, resultado,"Tabuada",JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog(null, "Tabuada do " + valor + ":" + resultado);
areaTexto.append("Tabuada: \n" + resultado + "\n");
} catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null,"Valor Inválido!",
"Informações",JOptionPane.INFORMATION_MESSAGE);
//areaTexto.append("Valor inválido \n");
}
}
}
class EventLimp implements ActionListener {
public void actionPerformed(ActionEvent e) {
fTexto.setText("");
areaTexto.setText("");
}
}
//------- métodos listeners: -------------
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public static void main(String[] args) {
TabOptionPane tab = new TabOptionPane();
tab.setSize(500,300);
tab.setLocation(300,150);
tab.setVisible(true);
}
}[/code]
segunda classe:
[code] import javax.swing.;
import java.awt.event.;
import java.awt.*;
public class EventoSobre implements ActionListener {
// método listener:
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,“Por: Francis Rodrigues\n\nvisitewww.koderzone.com”, “Informações”, JOptionPane.INFORMATION_MESSAGE);
//System.exit(0);
}
}[/code]
Só preciso de um JScrollPane pra resolver o problema de tudo agora 
Não está tão ruim assim, não é? rss
Obrigado pela ajuda mesmo assim.