Convertir el código a variables dinamicas
Hola, hice una aplicacion que usa dos threads q coloco de acuerdo a su nombre en un jtabbedpane distinto, pero tengo q hacer ahora q el codigo sea dinamico, para n compañias y x ende n jtabbedpane no se como hacerlo, si alguien me ayuda muchas gracias. Aca les pongo el codigo
*** Clase Ventana , clase principal****
import java.awt.*;
import javax.swing.*;
public class Ventana {
private JFrame f = new JFrame();
private JTextArea areaTexto = new JTextArea(33,65);
private JTextArea areaTexto1 = new JTextArea(33,65);
private JPanel panel = new JPanel();
private JPanel panel1 = new JPanel();
private JScrollPane scrollpanel = new JScrollPane();
private JScrollPane scrollpanel1 = new JScrollPane();
private JTabbedPane tabby = new JTabbedPane();
public Ventana() {
f.setTitle("JFrame");
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setSize(765, 690);
}
public void crear() {
scrollpanel.getViewport().add(areaTexto);
scrollpanel1.getViewport().add(areaTexto1);
panel.add(scrollpanel, BorderLayout.CENTER);
panel1.add(scrollpanel1, BorderLayout.CENTER);
tabby.addTab("Compañia 1",panel );
tabby.addTab("Compañia 2",panel1 );
f.getContentPane().add(tabby);
f.setVisible(true);
Lleno_Text llenotext = new Lleno_Text(areaTexto, areaTexto1);
Correr_Thread primerthread = new Correr_Thread(llenotext, "Cia1");
Correr_Thread segundothread = new Correr_Thread(llenotext, "Cia2");
primerthread.start();
segundothread.start();
}
public static void main (String[] args) {
Ventana f = new Ventana();
f.crear();
}
}
**** Clase Correr_Threads***
class Correr_Thread extends Thread {
private String out;
private String out1;
private Lleno_Text llenotext;
public Correr_Thread(Lleno_Text llenotext, String str) {
super(str);
this.llenotext = llenotext;
}
public void run() {
try {
while (true ) {
sleep(5000);
if (getName().equalsIgnoreCase("Cia1")) {
sleep(3000);
}
out= "t" + getName() + "n";
out1=getName();
llenotext.imprimir(out, out1);
}
}
catch (Exception e) {
System.out.println("Error");
}
}
}
*** Clase Lleno_Text**
import javax.swing.*;
class Lleno_Text {
private JTextArea areaTexto;
private JTextArea areaTexto1;
public Lleno_Text (JTextArea areaTexto, JTextArea areaTexto1) {
this.areaTexto = areaTexto;
this.areaTexto1 = areaTexto1;
}
public void imprimir(String out, String out1) {
if (out1.equals("Cia1"))
areaTexto.append(out);
if (out1.equals("Cia2"))
areaTexto1.append(out);
}
}
*** Clase Ventana , clase principal****
import java.awt.*;
import javax.swing.*;
public class Ventana {
private JFrame f = new JFrame();
private JTextArea areaTexto = new JTextArea(33,65);
private JTextArea areaTexto1 = new JTextArea(33,65);
private JPanel panel = new JPanel();
private JPanel panel1 = new JPanel();
private JScrollPane scrollpanel = new JScrollPane();
private JScrollPane scrollpanel1 = new JScrollPane();
private JTabbedPane tabby = new JTabbedPane();
public Ventana() {
f.setTitle("JFrame");
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
f.setSize(765, 690);
}
public void crear() {
scrollpanel.getViewport().add(areaTexto);
scrollpanel1.getViewport().add(areaTexto1);
panel.add(scrollpanel, BorderLayout.CENTER);
panel1.add(scrollpanel1, BorderLayout.CENTER);
tabby.addTab("Compañia 1",panel );
tabby.addTab("Compañia 2",panel1 );
f.getContentPane().add(tabby);
f.setVisible(true);
Lleno_Text llenotext = new Lleno_Text(areaTexto, areaTexto1);
Correr_Thread primerthread = new Correr_Thread(llenotext, "Cia1");
Correr_Thread segundothread = new Correr_Thread(llenotext, "Cia2");
primerthread.start();
segundothread.start();
}
public static void main (String[] args) {
Ventana f = new Ventana();
f.crear();
}
}
**** Clase Correr_Threads***
class Correr_Thread extends Thread {
private String out;
private String out1;
private Lleno_Text llenotext;
public Correr_Thread(Lleno_Text llenotext, String str) {
super(str);
this.llenotext = llenotext;
}
public void run() {
try {
while (true ) {
sleep(5000);
if (getName().equalsIgnoreCase("Cia1")) {
sleep(3000);
}
out= "t" + getName() + "n";
out1=getName();
llenotext.imprimir(out, out1);
}
}
catch (Exception e) {
System.out.println("Error");
}
}
}
*** Clase Lleno_Text**
import javax.swing.*;
class Lleno_Text {
private JTextArea areaTexto;
private JTextArea areaTexto1;
public Lleno_Text (JTextArea areaTexto, JTextArea areaTexto1) {
this.areaTexto = areaTexto;
this.areaTexto1 = areaTexto1;
}
public void imprimir(String out, String out1) {
if (out1.equals("Cia1"))
areaTexto.append(out);
if (out1.equals("Cia2"))
areaTexto1.append(out);
}
}