Если вы хотите получить ссылку на JTextField, который вы объявили только внутри конструктора, то единственный вариант - получить его с помощью основного JFrame, что-то вроде этого:
JTextField textField = (JTextField) ((JPanel) getContentPane().getComponents()[0]).getComponents()[0];
JOptionPane.showMessageDialog(null, textField.getText());
Или для общего решения:
private JTextField textField;
getJTextField(this); // Call this from inside the constructor
// ...
private boolean getJTextField(Container c)
{
Component[] cmps = c.getComponents();
for (Component cmp : cmps)
{
if (cmp instanceof JTextField)
{
textField = (JTextField) cmp;
return true;
}
if (cmp instanceof Container)
{
if(getJTextField((Container) cmp)) return true;
}
}
return false;
}
Тем не менее, объявление JTextField как поля класса облегчает вам жизнь.