import java.awt.*;
import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
class Interface1 extends JFrame
{
String [] SProvincias= {"A Corua","Lugo","Orense","Pontevedra"};
String [] Edades =new String [90];
//Etiquetas
JLabel Logo=new JLabel("TALLER TuNinG",JLabel.CENTER);
JLabel Nombrel=new JLabel("Nombre",JLabel.LEFT);
JLabel Direccionl=new JLabel("Direccin",JLabel.LEFT);
JLabel Apellidosl=new JLabel("Apellidos",JLabel.LEFT);
JLabel Edadl=new JLabel("Edad",JLabel.LEFT);
JLabel Provincial=new JLabel("Provincia",JLabel.LEFT);
JLabel Sexol=new JLabel("Sexo",JLabel.LEFT);
JLabel Preferenciasl=new JLabel("Preferencias",JLabel.LEFT);
JLabel Comentariosl=new JLabel("Comentarios",JLabel.LEFT);
JLabel Pedidosl=new JLabel("Pedididos",JLabel.LEFT);
JLabel SeparacionPref=new JLabel("",JLabel.LEFT);
//Botones
JButton Cancelar=new JButton("Cancelar");
JButton Enviar=new JButton("Enviar");
//Caja Validacin Redonda
JRadioButton Hombre=new JRadioButton("Hombre");
JRadioButton Mujer=new JRadioButton("Mujer");
//Caja Validacin Cuadrada
JCheckBox Tunning=new JCheckBox("Tunning");
JCheckBox Recambios=new JCheckBox("Recambios");
JCheckBox Reparaciones=new JCheckBox("Reparaciones");
JCheckBox Puesta=new JCheckBox("Puesta a punto");
JCheckBox Mantenimiento=new JCheckBox("Mantenimiento");
JCheckBox Competicion=new JCheckBox("Competicin");
JCheckBox Equipamiento=new JCheckBox("Equipamiento");
JCheckBox Ocasion=new JCheckBox("Vehiculos ocasin");
//Listas Desplegables
JComboBox Edad=new JComboBox();
JComboBox Provincias=new JComboBox(SProvincias);
//Areas de Texto
JTextArea Comentarios=new JTextArea(100,100);
JTextArea Pedidos=new JTextArea(100,100);
//Campos de Texto
JTextField Nombre = new JTextField();
JTextField Apellidos= new JTextField();
JTextField Direccion= new JTextField();
//Grupos de radio
ButtonGroup Sexo=new ButtonGroup();
Interface1()
{
add(Logo,"North");
//JPanel de Abajo
JPanel EnviarCancelar=new JPanel();
EnviarCancelar.add(Enviar);
EnviarCancelar.add(Cancelar);
add(EnviarCancelar,"South"); //Agregar JPanel al Sur
//JPanel Principal !
JPanel Pprincipal=new JPanel();
add(Pprincipal,"Center"); //Situacin del JPanel en el centro
Pprincipal.setLayout(new GridLayout(3,1));
//Creacin JPaneles Secundarios
JPanel Datos=new JPanel(); //Introducir Elementos Primer JPanel
Datos.setLayout(new GridLayout(6,2)); //Divisin
Datos.add(Nombrel);
Datos.add(Nombre);
Datos.add(Apellidosl);
Datos.add(Apellidos);
Datos.add(Direccionl);
Datos.add(Direccion);
Datos.add(Provincial);
Datos.add(Provincias);
Datos.add(Edadl);
//Introduccion de las Edades
for(int i=17;i<90;i++)
{
Edades[i]= Integer.toString (i +1);
Edad.addItem(Edades[i]);
}
Datos.add(Edad);
Datos.add(Sexol);
// JPanel Sexo
JPanel JPanelSexo=new JPanel(new GridLayout(1,2));
//Aadir al grupo
Sexo.add(Hombre);
Sexo.add(Mujer);
//Aadir al JPanel
JPanelSexo.add(Hombre);
JPanelSexo.add(Mujer);
Datos.add(JPanelSexo);
//Fin JPanel sexo
Pprincipal.add(Datos);
// Fin del JPanel de datos
JPanel Pref=new JPanel(new GridLayout(5,2)); // JPanel de preferencias
Pref.add(Preferenciasl);
Pref.add(SeparacionPref); //Etiqueta en blanco, separador
CheckboxGroup Prefe = new CheckboxGroup();
Pref.add(Tunning,Prefe);
Pref.add(Equipamiento,Prefe);
Pref.add(Recambios,Prefe);
Pref.add(Reparaciones,Prefe);
Pref.add(Puesta,Prefe);
Pref.add(Mantenimiento,Prefe);
Pref.add(Competicion,Prefe);
Pref.add(Ocasion,Prefe);
Pprincipal.add(Pref);
//Fin de JPanel de preferencias
JPanel Coments=new JPanel();
Coments.setLayout(new GridLayout(3,2));
Coments.add(Comentariosl);
Coments.add(Comentarios);
//Separacion de areas de texto
for(int i=0;i<2;i++)
{
Coments.add(new JLabel());
}
//Fin de separacion
Comentarios.setBackground(Color.lightGray);
Coments.add(Pedidosl);
Coments.add(Pedidos);
Pedidos.setBackground(Color.lightGray);
Pprincipal.add(Coments);
//Fin de JPanel de Comentarios
//Cerrar Ventana
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
setResizable(false);
setTitle("Taller De TuNinG");
setSize(400,500);
setVisible(true);
}
public static void main (String [] args)
{
Interface1 inter=new Interface1();
}
}
miércoles, 30 de marzo de 2011
Buscador de clave en java
// Clase Principal
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.net.*;
class BuscadorPalabrasClave extends JFrame implements ActionListener {
// Atributos
//Etiquetas
JLabel lweb=new JLabel ("Página web ");
JLabel lpalabras=new JLabel("Palabra clave ");
JLabel larchivo=new JLabel ("Archivo ");
JLabel lnumPalabras=new JLabel("Nº Palabras");
//Cajas de texto
JTextField txtWeb=new JTextField(20);
JTextField txtArchivo=new JTextField(24);
JTextField txtPalabras=new JTextField(20);
JTextField txtNumPalabras=new JTextField(3);
JTextArea txtCodigo=new JTextArea(23,50);
//Botones
JButton btBuscar=new JButton(" Buscar ");
JButton btBorrar=new JButton(" Borrar ");
JButton btExaminar=new JButton("Examinar...");
//Menu
JMenuBar MBarra = new JMenuBar();
JMenu MArchivo=new JMenu("Archivo");
JMenuItem MBuscar=new JMenuItem("Buscar");
JMenuItem MBorrar=new JMenuItem("Borrar");
JMenuItem MSalir=new JMenuItem("Salir");
JMenu MOpciones=new JMenu("Opciones");
JMenu MBusc=new JMenu("Buscar en");
ButtonGroup BgBuscar=new ButtonGroup();
JRadioButtonMenuItem MWeb=new JRadioButtonMenuItem("Web");
JRadioButtonMenuItem MDesdeArchivo=new JRadioButtonMenuItem("Desde Archivo");
JCheckBoxMenuItem Mmayusulas=new JCheckBoxMenuItem("Diferenciar Mayus/min");
JCheckBoxMenuItem MProxyPuerto=new JCheckBoxMenuItem("Configuración proxy");
//
String proxy="";
//Constructor
BuscadorPalabrasClave() {
//Poner Barra en el JFrame
MBarra.add(MArchivo);
MArchivo.add(MBuscar);
MBuscar.addActionListener(this);
MArchivo.add(MBorrar);
MBorrar.addActionListener(this);
MArchivo.addSeparator(); //Separador entre ITems
MArchivo.add(MSalir);
MSalir.addActionListener(this);
MBarra.add(MOpciones);
MOpciones.add(MBusc);
MBusc.add(MWeb);
MWeb.addActionListener(this);
MBusc.add(MDesdeArchivo);
MDesdeArchivo.addActionListener(this);
BgBuscar.add(MWeb);
MWeb.setSelected(true);
BgBuscar.add(MDesdeArchivo);
MOpciones.add(Mmayusulas);
Mmayusulas.addActionListener(this);
MOpciones.add(MProxyPuerto);
MProxyPuerto.addActionListener(this);
this.setJMenuBar(MBarra);
//Panel Sur
JPanel PSur=new JPanel();
PSur.add(btBuscar);
btBuscar.addActionListener(this);
PSur.add(btBorrar);
btBorrar.addActionListener(this);
PSur.add(lnumPalabras);
PSur.add(txtNumPalabras);
this.add(PSur,"South");
//Panel Centro
JPanel PCentro=new JPanel();
PCentro.setLayout(new FlowLayout() );
JPanel PIzquierda=new JPanel();
PIzquierda.setLayout(new GridLayout(3,1));
JPanel Ppalabras=new JPanel();
Ppalabras.add(lpalabras);
Ppalabras.add(txtPalabras);
JPanel PWeb=new JPanel();
PWeb.add(lweb);
PWeb.add(txtWeb);
JPanel PArchivo=new JPanel();
PArchivo.add(larchivo);
PArchivo.add(txtArchivo);
PArchivo.add(btExaminar);
btExaminar.addActionListener(this);
PIzquierda.add(Ppalabras);
PIzquierda.add(PWeb);
PIzquierda.add(PArchivo);
//Panel para paroner la barras en el area de texto
JScrollPane barras=new JScrollPane(txtCodigo,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JPanel PCodigo=new JPanel();
PCodigo.add(barras);
PCentro.add(PIzquierda);
PCentro.add(PCodigo);
this.add(PCentro,"Center");
txtWeb.setText("http://todojava.awardspace.com");
//Método para cerrar la ventana
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
//Ocultar Abrir archivo
larchivo.setVisible(false);
txtArchivo.setVisible(false);
btExaminar.setVisible(false);
//Bloquear caja de texto
txtCodigo.setEditable(false);
txtNumPalabras.setEditable(false);
// Propiedades de la ventana
setTitle("Buscador Plabras Clave V 1.0");
setResizable(false);
setSize(600,600);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==Mmayusulas){
}
if(ae.getSource()==btExaminar){
Abrir();
}
if(ae.getSource()==MWeb){
CambiarWebArchivo(false);
}
if(ae.getSource()==MDesdeArchivo){
CambiarWebArchivo(true);
}
if(ae.getSource()==btBuscar || ae.getSource()==MBuscar){
comoBuscar();
}
if(ae.getSource()==MSalir) System.exit(0);
if(ae.getSource()==MProxyPuerto){
if(MProxyPuerto.isSelected())
proxy=JOptionPane.showInputDialog("Configuración de internet. proxy:puerto \n Ej: 192.168.0.1:3357");
}
if(ae.getSource()==MBorrar || ae.getSource()==btBorrar)
{
txtCodigo.setText("");
txtPalabras.setText("");
txtNumPalabras.setText("");
}
}
//Punto de entrada de la aplicación
public static void main (String []args){
new BuscadorPalabrasClave();
}
//****************** Métodos de la clase ******************
//Método de dónde buscar web o archivo
void comoBuscar()
{
if(MWeb.isSelected()==true)
{
String texto="";
try
{
//En caso de tener proxy
if(MProxyPuerto.isSelected()){
//separar proxy y puerto
int posDospuntos=proxy.indexOf(":");
String dir=proxy.substring(0,posDospuntos);
String puerto=proxy.substring(posDospuntos+1,proxy.length());
System.setProperty("http.proxyHost",dir);
System.setProperty("http.proxyPort",puerto);
}
URL direccion=new URL(txtWeb.getText());
InputStreamReader isr=new InputStreamReader(direccion.openStream());
BufferedReader entrada=new BufferedReader(isr);
String linea=null;
while((linea=entrada.readLine())!=null){
texto+=linea +"\n";
}
entrada.close();
}
catch(MalformedURLException mre){
System.out.println(mre);
}
catch(IOException ioe){
System.out.println(ioe);
}
txtCodigo.setText(texto);
buscarPalbara();
}
else{
buscarPalbara();
}
}
//Método para buscar palbras clave
void buscarPalbara(){
int posicion=0;
int numPalabras=0;
String palabra="";
String TextoBusc="";
String token="";
palabra=txtPalabras.getText();
TextoBusc=txtCodigo.getText();
//Uso de la clase StringTokenizer
StringTokenizer Busca=new StringTokenizer(TextoBusc,"\"'!¡., \t\n()[]?¿-_@");
while(Busca.hasMoreTokens()!=false)
{
String palabrilla=Busca.nextToken();
//Diferenciando entre mayúsculas y minúsculas
if(Mmayusulas.isSelected()){
if(palabrilla.equals(palabra))numPalabras++;
}
//Sin deferenciar entre mayúsculas y minúsculas
else {
if(palabrilla.toLowerCase().equals(palabra.toLowerCase()))numPalabras++;
}
}
txtNumPalabras.setText(Integer.toString(numPalabras));
}
//Método de cambiar estado Buscar en web o desde archivo
void CambiarWebArchivo(boolean act){
// Archivo
larchivo.setVisible(act);
txtArchivo.setVisible(act);
btExaminar.setVisible(act);
// Web
lweb.setVisible(!act);
txtWeb.setVisible(!act);
}
//Método de abrir fichero
void Abrir (){
String Text="";
try
{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir")); //System.getProperty("user.dir") abre el fichero de diálogo en el mismo directorio de la clase
fc.showOpenDialog(this);
File Abrir=fc.getSelectedFile(); //Devuelve el File que vamos a leer
if(Abrir!=null)
{
//nombreArchivo=fc.getSelectedFile().getName();
//Pone en txtArchivo la ruta del archivo
txtArchivo.setText(fc.getSelectedFile().getAbsolutePath());
}
if(Abrir!=null)
{
txtCodigo.setText("");
FileReader Fichero=new FileReader(Abrir);
BufferedReader leer=new BufferedReader(Fichero);
while((Text=leer.readLine())!=null)
{
txtCodigo.append(Text+ "\n"); //append Concatena la linea leida
}
leer.close();
}
}
catch(IOException ioe)
{
System.out.println(ioe);
}
}
}
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.net.*;
class BuscadorPalabrasClave extends JFrame implements ActionListener {
// Atributos
//Etiquetas
JLabel lweb=new JLabel ("Página web ");
JLabel lpalabras=new JLabel("Palabra clave ");
JLabel larchivo=new JLabel ("Archivo ");
JLabel lnumPalabras=new JLabel("Nº Palabras");
//Cajas de texto
JTextField txtWeb=new JTextField(20);
JTextField txtArchivo=new JTextField(24);
JTextField txtPalabras=new JTextField(20);
JTextField txtNumPalabras=new JTextField(3);
JTextArea txtCodigo=new JTextArea(23,50);
//Botones
JButton btBuscar=new JButton(" Buscar ");
JButton btBorrar=new JButton(" Borrar ");
JButton btExaminar=new JButton("Examinar...");
//Menu
JMenuBar MBarra = new JMenuBar();
JMenu MArchivo=new JMenu("Archivo");
JMenuItem MBuscar=new JMenuItem("Buscar");
JMenuItem MBorrar=new JMenuItem("Borrar");
JMenuItem MSalir=new JMenuItem("Salir");
JMenu MOpciones=new JMenu("Opciones");
JMenu MBusc=new JMenu("Buscar en");
ButtonGroup BgBuscar=new ButtonGroup();
JRadioButtonMenuItem MWeb=new JRadioButtonMenuItem("Web");
JRadioButtonMenuItem MDesdeArchivo=new JRadioButtonMenuItem("Desde Archivo");
JCheckBoxMenuItem Mmayusulas=new JCheckBoxMenuItem("Diferenciar Mayus/min");
JCheckBoxMenuItem MProxyPuerto=new JCheckBoxMenuItem("Configuración proxy");
//
String proxy="";
//Constructor
BuscadorPalabrasClave() {
//Poner Barra en el JFrame
MBarra.add(MArchivo);
MArchivo.add(MBuscar);
MBuscar.addActionListener(this);
MArchivo.add(MBorrar);
MBorrar.addActionListener(this);
MArchivo.addSeparator(); //Separador entre ITems
MArchivo.add(MSalir);
MSalir.addActionListener(this);
MBarra.add(MOpciones);
MOpciones.add(MBusc);
MBusc.add(MWeb);
MWeb.addActionListener(this);
MBusc.add(MDesdeArchivo);
MDesdeArchivo.addActionListener(this);
BgBuscar.add(MWeb);
MWeb.setSelected(true);
BgBuscar.add(MDesdeArchivo);
MOpciones.add(Mmayusulas);
Mmayusulas.addActionListener(this);
MOpciones.add(MProxyPuerto);
MProxyPuerto.addActionListener(this);
this.setJMenuBar(MBarra);
//Panel Sur
JPanel PSur=new JPanel();
PSur.add(btBuscar);
btBuscar.addActionListener(this);
PSur.add(btBorrar);
btBorrar.addActionListener(this);
PSur.add(lnumPalabras);
PSur.add(txtNumPalabras);
this.add(PSur,"South");
//Panel Centro
JPanel PCentro=new JPanel();
PCentro.setLayout(new FlowLayout() );
JPanel PIzquierda=new JPanel();
PIzquierda.setLayout(new GridLayout(3,1));
JPanel Ppalabras=new JPanel();
Ppalabras.add(lpalabras);
Ppalabras.add(txtPalabras);
JPanel PWeb=new JPanel();
PWeb.add(lweb);
PWeb.add(txtWeb);
JPanel PArchivo=new JPanel();
PArchivo.add(larchivo);
PArchivo.add(txtArchivo);
PArchivo.add(btExaminar);
btExaminar.addActionListener(this);
PIzquierda.add(Ppalabras);
PIzquierda.add(PWeb);
PIzquierda.add(PArchivo);
//Panel para paroner la barras en el area de texto
JScrollPane barras=new JScrollPane(txtCodigo,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
JPanel PCodigo=new JPanel();
PCodigo.add(barras);
PCentro.add(PIzquierda);
PCentro.add(PCodigo);
this.add(PCentro,"Center");
txtWeb.setText("http://todojava.awardspace.com");
//Método para cerrar la ventana
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
//Ocultar Abrir archivo
larchivo.setVisible(false);
txtArchivo.setVisible(false);
btExaminar.setVisible(false);
//Bloquear caja de texto
txtCodigo.setEditable(false);
txtNumPalabras.setEditable(false);
// Propiedades de la ventana
setTitle("Buscador Plabras Clave V 1.0");
setResizable(false);
setSize(600,600);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==Mmayusulas){
}
if(ae.getSource()==btExaminar){
Abrir();
}
if(ae.getSource()==MWeb){
CambiarWebArchivo(false);
}
if(ae.getSource()==MDesdeArchivo){
CambiarWebArchivo(true);
}
if(ae.getSource()==btBuscar || ae.getSource()==MBuscar){
comoBuscar();
}
if(ae.getSource()==MSalir) System.exit(0);
if(ae.getSource()==MProxyPuerto){
if(MProxyPuerto.isSelected())
proxy=JOptionPane.showInputDialog("Configuración de internet. proxy:puerto \n Ej: 192.168.0.1:3357");
}
if(ae.getSource()==MBorrar || ae.getSource()==btBorrar)
{
txtCodigo.setText("");
txtPalabras.setText("");
txtNumPalabras.setText("");
}
}
//Punto de entrada de la aplicación
public static void main (String []args){
new BuscadorPalabrasClave();
}
//****************** Métodos de la clase ******************
//Método de dónde buscar web o archivo
void comoBuscar()
{
if(MWeb.isSelected()==true)
{
String texto="";
try
{
//En caso de tener proxy
if(MProxyPuerto.isSelected()){
//separar proxy y puerto
int posDospuntos=proxy.indexOf(":");
String dir=proxy.substring(0,posDospuntos);
String puerto=proxy.substring(posDospuntos+1,proxy.length());
System.setProperty("http.proxyHost",dir);
System.setProperty("http.proxyPort",puerto);
}
URL direccion=new URL(txtWeb.getText());
InputStreamReader isr=new InputStreamReader(direccion.openStream());
BufferedReader entrada=new BufferedReader(isr);
String linea=null;
while((linea=entrada.readLine())!=null){
texto+=linea +"\n";
}
entrada.close();
}
catch(MalformedURLException mre){
System.out.println(mre);
}
catch(IOException ioe){
System.out.println(ioe);
}
txtCodigo.setText(texto);
buscarPalbara();
}
else{
buscarPalbara();
}
}
//Método para buscar palbras clave
void buscarPalbara(){
int posicion=0;
int numPalabras=0;
String palabra="";
String TextoBusc="";
String token="";
palabra=txtPalabras.getText();
TextoBusc=txtCodigo.getText();
//Uso de la clase StringTokenizer
StringTokenizer Busca=new StringTokenizer(TextoBusc,"\"'!¡., \t\n()[]?¿-_@");
while(Busca.hasMoreTokens()!=false)
{
String palabrilla=Busca.nextToken();
//Diferenciando entre mayúsculas y minúsculas
if(Mmayusulas.isSelected()){
if(palabrilla.equals(palabra))numPalabras++;
}
//Sin deferenciar entre mayúsculas y minúsculas
else {
if(palabrilla.toLowerCase().equals(palabra.toLowerCase()))numPalabras++;
}
}
txtNumPalabras.setText(Integer.toString(numPalabras));
}
//Método de cambiar estado Buscar en web o desde archivo
void CambiarWebArchivo(boolean act){
// Archivo
larchivo.setVisible(act);
txtArchivo.setVisible(act);
btExaminar.setVisible(act);
// Web
lweb.setVisible(!act);
txtWeb.setVisible(!act);
}
//Método de abrir fichero
void Abrir (){
String Text="";
try
{
JFileChooser fc=new JFileChooser(System.getProperty("user.dir")); //System.getProperty("user.dir") abre el fichero de diálogo en el mismo directorio de la clase
fc.showOpenDialog(this);
File Abrir=fc.getSelectedFile(); //Devuelve el File que vamos a leer
if(Abrir!=null)
{
//nombreArchivo=fc.getSelectedFile().getName();
//Pone en txtArchivo la ruta del archivo
txtArchivo.setText(fc.getSelectedFile().getAbsolutePath());
}
if(Abrir!=null)
{
txtCodigo.setText("");
FileReader Fichero=new FileReader(Abrir);
BufferedReader leer=new BufferedReader(Fichero);
while((Text=leer.readLine())!=null)
{
txtCodigo.append(Text+ "\n"); //append Concatena la linea leida
}
leer.close();
}
}
catch(IOException ioe)
{
System.out.println(ioe);
}
}
}
Juegos en java
class Raya3 extends JFrame implements ActionListener
{
//Atributos
JButton boton [][]=new JButton[3][3];
JLabel etiq=new JLabel("3 en Raya",JLabel.CENTER);
ImageIcon x=new ImageIcon("x.jpg");
ImageIcon o=new ImageIcon("o.jpg");
String IP="localhost";
int contador=0;
//Conexión
static Socket conexion;
static DataOutputStream salida;
static DataInputStream entrada;
Raya3()
{
IP=JOptionPane.showInputDialog("Introduce ip servidor(localhost para máquina local):");
//Conexion CON EL SERVIDOR por el puerto 5001
try
{
conexion=new Socket(IP,5001);
salida=new DataOutputStream(conexion.getOutputStream());
entrada=new DataInputStream(conexion.getInputStream());
}
catch(IOException ioe)
{
System.out.println("No es posible conetar");
}
// Añadir Panel de tablero
JPanel Centro=new JPanel();
add(etiq,"North");
Centro.setLayout(new GridLayout(3,3));
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
boton[i][j]=new JButton();
boton[i][j].addActionListener(this);
boton[i][j].setBackground(Color.WHITE);
Centro.add(boton[i][j]);
}
//Cerrar Ventana
add(Centro,"Center");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
setTitle("3 en Raya");
setSize(400,400);
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if(ae.getSource()==boton[i][j])
{
if(boton[i][j].getIcon()==null)
{
boton[i][j].setIcon(x); //pones tu ficha X
try
{
if(contador<4) //Se acabo el juego?
{
//enviar la posición en la ke pones
salida.writeUTF(i+"#"+j); //formato de la posicion x#y
String cadena=entrada.readUTF(); //Recive la posición del servidor
int a,b,pos=0;
pos=cadena.indexOf("#");
a=Integer.parseInt(cadena.substring(0,pos));
b=Integer.parseInt(cadena.substring(pos+1,cadena.length()));
boton[a][b].setIcon(o); //el servidor pune su ficha O
contador++;
}
}
catch(IOException ioe)
{
System.out.println("Error envio datos");
}
ganar ();
}
}
}
}
// Comprobación de que ficha gana!!!
void ganar ()
{
//Comprobación en horizontal
int fila=0;
int fila2=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(boton[i][j].getIcon()==x) fila++;
else fila=0;
if(boton[i][j].getIcon()==o) fila2++;
else fila2=0;
}
if (fila==3)
{
JOptionPane.showMessageDialog(this,"Has ganado");
VolverEmpezar();
}
if (fila2==3)
{
JOptionPane.showMessageDialog(this,"Gana la maquina");
VolverEmpezar();
}
fila=0;
}
fila=0;
fila2=0;
//Comprobación en vertical
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(boton[j][i].getIcon()==x) fila++;
else fila=0;
if(boton[j][i].getIcon()==o) fila2++;
else fila2=0;
}
if (fila==3)
{
JOptionPane.showMessageDialog(this,"Has ganado");
VolverEmpezar();
}
if (fila2==3)
{
JOptionPane.showMessageDialog(this,"Gana la maquina");
VolverEmpezar();
}
fila=0;
}
fila=0;
// Se ha producido un empate
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(boton[j][i].getIcon()!=null) fila++;
}
}
if(fila==9)
{
JOptionPane.showMessageDialog(this,"Empate");
VolverEmpezar();
try
{
salida.writeUTF("Nuevo");
}
catch(IOException ioe)
{
}
}
fila=0;
fila2=0;
//Comprobación en oblicuo
for(int i=0;i<3;i++)
{
if(boton[i][i].getIcon()==x) fila++;
else fila=0;
if(boton[i][i].getIcon()==o) fila2++;
else fila2=0;
}
if (fila==3)
{
JOptionPane.showMessageDialog(this,"Has ganado");
VolverEmpezar();
}
if (fila2==3)
{
JOptionPane.showMessageDialog(this,"Gana la maquina");
VolverEmpezar();
}
fila=0;
fila2=0;
int j=3;
for(int i=0;i<3;i++)
{
j--;
if(boton[j][i].getIcon()==x) fila++;
else fila=0;
if(boton[j][i].getIcon()==o) fila2++;
else fila2=0;
}
if (fila==3)
{
JOptionPane.showMessageDialog(this,"Has ganado");
VolverEmpezar();
}
if (fila2==3)
{
JOptionPane.showMessageDialog(this,"Gana la maquina");
VolverEmpezar();
}
}
// Reiniciar el tablero a la posición inicial
void VolverEmpezar()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
boton[i][j].setIcon(null);
}
}
contador=0;
// Servidor a la posición inicial
try
{
salida.writeUTF("Nuevo");
}
catch(IOException ioe)
{
}
}
public static void main(String args[])
{
// lanzar la aplicación
new Raya3();
}
} //Fin de la clase del cliente
Suscribirse a:
Entradas (Atom)
Con la tecnología de Blogger.
Busqueda
Sabias que?
chat
Popular Posts
-
// Clase Principal import java.awt.*; import java.lang.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import ...
-
Nota:estas imagenes son necesarias para el achivo class Raya3 extends JFrame implements ActionListener { //Atributos JButton b...
-
import java.awt.*; import java.lang.*; import javax.swing.*; import java.awt.event.*; class Interface1 extends JFrame { String [...