Me respondo a mi mismo, el primer ejemplo que expuse lo genere como
Application Windows y este otro ejemplo que si que consigo que haga efecto que busco que es ejecutar otro hilo en paralelo con acceso a los objetos de la interface lo abro como
JFrame
Código:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Example extends JFrame
{
private JPanel contentPane;
private JTextField textField;
static int count = 0;
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
Example frame = new Example();
frame.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
}
public Example()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setText("");
textField.setBounds(10, 11, 86, 20);
contentPane.add(textField);
textField.setColumns(10);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
Thread newThread = new Thread(new Runnable()
{
@Override
public void run()
{
for(int i = 0; i < 100000; ++i)
{
textField.setText(count + "");
++count;
}
}
});
newThread.start();
}
});
btnNewButton.setBounds(106, 10, 89, 23);
contentPane.add(btnNewButton);
}
}