Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

mail SEP SNEST

INSTITUTO TECNOLOGICO DE TOLUCA

MATERIA: Tópicos Selectos De Programación

CATEDRATICO: Imelda Vertti Guzmán

ALUMNO: Carlos Alberto Rebollo Chávez

Tarea Hilos y JFrame

Metepec, México; Marzo 2010.


import java.awt.FlowLayout; import javax.swing.*;
import javax.swing.JFrame; import java.awt.*;
import javax.swing.JTextField; import java.awt.event.*;

public class Consumidor extends Thread public class Productor extends Thread
{ {
public JFrame panel=new JFrame(); public JFrame panel=new JFrame();
public String public String
platillos[]={"Hamburguesas","Pizza","Enchiladas platillos[]={"Hamburguesas","Pizza","Enchiladas","Pa
","Pastel","Albondigas"}; stel","Albondigas"};
public Monitor mon1;
public Monitor mon2; private JTextField e[];
public int num2; public JTextField f[];
public int num1;
public Consumidor(Monitor m,int x)
{ public Productor(Monitor m,int x)
panel=new JFrame(); {
panel.setLayout(new panel=new JFrame();
FlowLayout()); panel.setLayout(new GridLayout(5,2));
panel.setSize(500,300); panel.setSize(400,300);
e=new JTextField[5];
mon2=m; e[0]=new JTextField();
num2=x; e[1]=new JTextField();
} e[2]=new JTextField();
e[3]=new JTextField();
public void run() e[4]=new JTextField();
{ panel.add(e[0]);
String valor; panel.add(e[1]);
for(int i=0;i<10;i++) panel.add(e[2]);
{ panel.add(e[3]);
valor=mon2.get(); panel.add(e[4]);
panel.show();
mon1=m;
System.out.println("Consumidor
num1=x;
obtiene: \n "+ valor);
}
}
} public void run()
} {
for(int i=0;i<4;i++)
{
mon1.put(platillos[i]);

public class Aplicacion System.out.println("Productor pone:


{ "+platillos[i]);
public static void main(String args[]) e[i].setText("Cocinero
{ sirve: "+platillos[i]);
Monitor mon=new Monitor();
Productor prod=new try
Productor(mon,1); {
Consumidor cons=new sleep((int)
Consumidor(mon,1); (Math.random()*100));
prod.start(); }
cons.start();
} catch(InterruptedException e){}
} }
}
}
package frame;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Ventana extends JFrame implements


ActionListener {
private JButton b;
private JLabel l;

public Ventana(String cadena){


super(cadena);
b=new JButton("saludo");
l=new JLabel("");
b.addActionListener(this);
Container c= getContentPane();
getContentPane().setLayout(new
FlowLayout());
c.add(b);
c.add(l);
setSize(300,150);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

public void actionPerformed(ActionEvent e) {

if ( e.getSource() == b )
l.setText("¡Hola!");
}

package frame;

public class Principal {


public static void main(String args[]){

Ventana obj = new Ventana("Say Hello");


}

}
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class Monitor


{
String valor;

public String
platillos[]={"Hamburguesas","Pizza","Enchiladas","Pastel","A
lbondigas"};
boolean disponible;

public Monitor()
{

public synchronized String get()


{
while(!disponible)
{
try
{
wait();
}

catch(InterruptedException e){}
}

disponible=false;
notifyAll();
return valor;
}

public synchronized void put(String x)


{
while(disponible)
{
try
{
wait();
}

catch(InterruptedException ex){}
}
valor=x;
disponible=true;
notify();
}
}

You might also like