inteligencia1/Arbol.javainteligencia1/Arbol.javapackage intelig
encia1;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.LinkedList;
import javax.swing.JComponent;
import javax.swing.SwingUtilities;
publicclassArbolextendsJComponent{
BufferedImage imagen;
LinkedList<Nodo> lista;
int x,y;
int ancho,alto;
boolean bfs;
boolean inicio=false;
LinkedList<Nodo> cola =newLinkedList();
LinkedList<Nodo> pila =newLinkedList();
Graphics g;
publicArbol(){
this.setBounds(450,70,440,500);
this.setBackground(Color.DARK_GRAY);
imagen =newBufferedImage(getWidth(),getHeight(),Buffer
edImage.TYPE_3BYTE_BGR);
imagen.getGraphics().setColor(Color.LIGHT_GRAY );
imagen.getGraphics().fillRect(0,0,440,500);
}
@Override
publicvoid paint(Graphics gr)
{
gr.drawImage(imagen,0,0,this);
}
publicvoid addListPaint(LinkedList<Nodo> lista){
this.lista=null;
this.lista=lista;
x=y=0;
x=17;
y=14;
int xfle,yfle;
g=imagen.getGraphics();
g.setColor(Color.LIGHT_GRAY );
g.fillRect(0,0,450,500);
if(lista!=null){
//Dibujar los nodos
for(Nodo nn : lista){
g.setColor(Color.WHITE );
g.fillOval(nn.getXpos(), nn.getYpos(), nn.getAncho()
, nn.getAlto());
g.setColor(Color.BLACK);
g.drawString(nn.getName(),nn.getXpos()+10, nn.get
Ypos()+15);
}
//Lineas
for(Nodo raiz : lista){
if(raiz.getNodoListCount()>0){
for(Nodo hijo : raiz.getListNodo()){
g.setColor(Color.WHITE );
if(raiz.getXpos()==hijo.getXpos()&& raiz.getYpos()==hijo.get
Ypos())
{
g.drawOval(raiz.getXpos()-
10, raiz.getYpos()-10,30,30);
}else{
g.setColor(Color.blue);
if(raiz.isExists(hijo)&& hijo.isExists(raiz)){
g.setColor(Color.RED );
g.drawLine(raiz.getXpos()+x, raiz.getYpo
s()+y, hijo.getXpos()+x,hijo.getYpos()+y);
}else{
xfle=((int)(hijo.getXpos()+raiz.getXpos())
/2);
yfle=((int)(hijo.getYpos()+ raiz.getYpos()
)/2);
xfle=(int)(raiz.getXpos()+xfle)/2;
yfle=(int)(raiz.getYpos()+yfle)/2;
g.drawLine(raiz.getXpos()+x, raiz.getYpo
s()+y, hijo.getXpos()+x,hijo.getYpos()+y);
g.drawString("♦",x+xfle,y+yfle);
}
}
}
}
}
}
repaint();
}
privatevoidMarcarNegro(Nodo nodoactual){
g=imagen.getGraphics();
g.setColor(Color.BLACK );
g.fillOval(nodoactual.getXpos(), nodoactual.getYpos(), n
odoactual.getAncho(), nodoactual.getAlto());
g.setColor(Color.WHITE);
g.drawString(nodoactual.getName(),nodoactual.getXpos(
)+10, nodoactual.getYpos()+15);
repaint();
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
}
g.setColor(Color.DARK_GRAY );
}
privatevoidMarchaVista(Nodo nodoactual){
g=imagen.getGraphics();
g.setColor(Color.DARK_GRAY );
g.fillOval(nodoactual.getXpos(), nodoactual.getYpos(),
nodoactual.getAncho(), nodoactual.getAlto());
g.setColor(Color.BLACK);
g.drawString(nodoactual.getName(),nodoactual.getXpos
()+10, nodoactual.getYpos()+15);
nodoactual.visitado=true;
repaint();
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
}
}
publicvoid BFS()
{
addListPaint(lista);
MarcarNoVisitado();
inicio=true;
g=imagen.getGraphics();
//Recorrido BFS
Thread hilo;
hilo =newThread(){
@Override
publicvoid run(){
bfs=true;
cola.add(lista.getFirst());
while(!cola.isEmpty()){
Nodo nodoactual=cola.poll();
//Marcado visitado
if(!nodoactual.visitado){
MarchaVista(nodoactual);
}
try{
Thread.sleep(1000);
}catch(InterruptedException ex){}
for(Nodo hijonodo : nodoactual.getListNodo()){
if(!hijonodo.visitado){
//Visitado(hijonodo);
MarchaVista(hijonodo);
cola.add(hijonodo);
}
}
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
}
if(!cola.contains(nodoactual)){
MarcarNegro(nodoactual);
}
}
}
};
hilo.start();
}
privatevoidMarcarNoVisitado()
{
for(Nodo nodo : lista ){
nodo.visitado=false;
}
}
publicvoid fondo()
{
g=imagen.getGraphics();
g.setColor(Color.DARK_GRAY);
g.fillRect(0,0,450,500);
}
//esto es pra que el grafico se actuslize
privatevoid dibuja()throwsException{
SwingUtilities.invokeAndWait(newRunnable(){
@Override
publicvoid run(){
paintImmediately(0,0,500,300);
}
});
}
}
inteligencia1/MyDefaultTableModel.javainteligencia1/MyDefau
ltTableModel.javapackage inteligencia1;
import java.util.LinkedList;
import javax.swing.table.DefaultTableModel;
classMyDefaultTableModelextendsDefaultTableModel{
intRow,Column;
LinkedList<Nodo> listas =newLinkedList();
publicMyDefaultTableModel(){
super();
}
publicMyDefaultTableModel(Object[] columnNames,int rowCou
nt){
super(columnNames,rowCount);
}
@Override
publicboolean isCellEditable(int row,int col){
returntrue;
}
@Override
publicvoid setValueAt(Object aValue,int row,int column)
{boolean vacio;
if(aValue.toString().equals("0")|| aValue.toString().equals("1"))
{ vacio=(getValueAt(row,column)==null)?true:false;
if( aValue!=null){
super.setValueAt(aValue.toString(), row, column);
if(aValue.toString().equals("1")){
if(!Programa.lista.get(row).isExists(Programa.lista.get(column))
){
Programa.lista.get(row).addNodoList(Programa.lista.get(column
));
}
Programa.panel.addListPaint(Programa.lista);
Programa.panelarbol.addListPaint(Programa.lista);
}elseif(aValue.toString().equals("0")&&Programa.lista.get(row)
.getNodoListCount()>0&&Programa.lista.get(row)!=null){
Programa.lista.get(row).remNodoList(Programa.lista.get(colum
n));
Programa.panel.addListPaint(Programa.lista);
Programa.panelarbol.addListPaint(Programa.lista);
}
}
}else{
super.setValueAt("0", row, column);
Programa.lista.get(row).remNodoList(Programa.lista.get(colum
n));
Programa.panel.addListPaint(Programa.lista);
Programa.panelarbol.addListPaint(Programa.lista);
}
}
}
inteligencia1/Nodo.javainteligencia1/Nodo.javapackage intelige
ncia1;
import java.util.LinkedList;
import javax.swing.JOptionPane;
publicclassNodo{
privateString name;
privateint xPos;
privateint yPos;
privateint ancho;
privateint alto;
privatedouble valor;
privateLinkedList<Nodo>NLista=newLinkedList();
publicboolean visitado=false;
publicNodo()
{
name="";
ancho=40;
alto=40;
valor =0;
}
publicNodo(String name){
this.name=name;
}
publicNodo(String name,int xPos,int yPos){
this.name=name;
this.xPos=xPos;
this.yPos=yPos;
}
publicNodo(String name,int xPos,int yPos,int ancho,int alto){
this.name=name;
this.xPos=xPos;
this.yPos=yPos;
this.ancho=ancho;
this.alto=alto;
}
publicvoid setName(String name){
this.name=name;
}
publicString getName(){
returnthis.name;
}
publicvoid setXpos(int xPos){
this.xPos=xPos;
}
publicint getXpos(){
returnthis.xPos;
}
publicvoid setYpos(int yPos){
this.yPos=yPos;
}
publicint getYpos(){
returnthis.yPos;
}
publicvoid setAncho(int ancho){
this.ancho=ancho;
}
publicint getAncho(){
returnthis.ancho;
}
publicvoid setAlto(int alto){
this.alto=alto;
}
publicint getAlto(){
returnthis.alto;
}
publicvoid setValor(double valor){
this.valor=valor;
}
publicdouble getValor(){
returnthis.valor;
}
//-----------Nodo agregar a la lista
publicvoid addNodoList(Nodo nodo){
try{
//NLista.push(nodo);
NLista.add(nodo);
}catch(java.lang.NullPointerException e){
JOptionPane.showMessageDialog(null,"Error 1 : "+e.toString())
;
}catch(java.lang.Exception e){
JOptionPane.showMessageDialog(null,"Error 2 : "+e.toString())
;
}
}
/// Remover un Nodo de la lista
publicvoid remNodoList(Nodo row){
NLista.remove(row);
}
// Optener un nodo de la lista por un index
publicNodo getNodoList(int index){
returnNLista.get(index);
}
// Retorna la cantidad de elemento de la lista
publicint getNodoListCount(){
returnNLista.size();
}
// Esistencia del nodo en la lista
publicboolean isExists(Nodo e){
returnNLista.contains(e);
}
// Retorna lista del nodo
publicLinkedList<Nodo> getListNodo(){
returnNLista;
}
}
inteligencia1/PanelArbol.javainteligencia1/PanelArbol.javapack
age inteligencia1;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComponent;
publicclassPanelArbolextendsJComponent{
BufferedImage imagen;
LinkedList<Nodo> lista;
int x,y;
int ancho,alto;
boolean bfs,dfs;
boolean inicio=false;
LinkedList<Nodo> cola =newLinkedList();
publicPanelArbol(int x,int y,int ancho,int alto){
this.setBounds(x, y, ancho, alto);
this.ancho=ancho;
this.alto=alto;
imagen =newBufferedImage(getWidth(),getHeight(),Buffer
edImage.TYPE_3BYTE_BGR);
imagen.getGraphics().setColor(Color.blue);
imagen.getGraphics().fillRect(0,0, ancho, alto);
bfs=false;
dfs=false;
}
publicvoid BFS(){
bfs=true;
}
publicvoid DFS(){
dfs=true;
repaint();
}
publicvoid addListPaint(LinkedList<Nodo> lista){
this.lista=null;
this.lista=lista;
repaint();
}
@Override
publicvoid paint (Graphics g){
x=y=0;
x=17;
y=14;
int xfle,yfle;
g.drawImage(imagen,0,0,this);
g.setColor(Color.LIGHT_GRAY );
g.fillRect(0,0, ancho,alto );
if(lista!=null){
//Dibujar los nodos
for(Nodo nn : lista){
g.setColor(Color.WHITE );
g.fillOval(nn.getXpos(), nn.getYpos(), nn.getAncho()
, nn.getAlto());
g.setColor(Color.BLACK);
g.drawString(nn.getName(),nn.getXpos()+10, nn.get
Ypos()+15);
}
//Lineas
for(Nodo raiz : lista){
if(raiz.getNodoListCount()>0){
for(Nodo hijo : raiz.getListNodo()){
g.setColor(Color.WHITE );
if(raiz.getXpos()==hijo.getXpos()&& raiz.getYpos()==hijo.get
Ypos())
{
g.drawOval(raiz.getXpos()-
10, raiz.getYpos()-10,30,30);
}else{
g.setColor(Color.blue);
if(raiz.isExists(hijo)&& hijo.isExists(raiz)){
g.setColor(Color.RED );
g.drawLine(raiz.getXpos()+x, raiz.getYpo
s()+y, hijo.getXpos()+x,hijo.getYpos()+y);
}else{
xfle=((int)(hijo.getXpos()+raiz.getXpos())
/2);
yfle=((int)(hijo.getYpos()+ raiz.getYpos()
)/2);
xfle=(int)(raiz.getXpos()+xfle)/2;
yfle=(int)(raiz.getYpos()+yfle)/2;
g.drawLine(raiz.getXpos()+x, raiz.getYpo
s()+y, hijo.getXpos()+x,hijo.getYpos()+y);
g.drawString("♦",x+xfle,y+yfle);
}
}
}
}
}
inicio=true;
cola.add(lista.getFirst());
//Recorrido BFS
if(bfs){
while(!cola.isEmpty()){
Nodo nodoactual=cola.poll();
//Marcado visitado
if(!nodoactual.visitado){
g.setColor(Color.DARK_GRAY );
g.fillOval(nodoactual.getXpos(), nodoactual.get
Ypos(), nodoactual.getAncho(), nodoactual.getAlto());
g.setColor(Color.BLACK);
g.drawString(nodoactual.getName(),nodoactual.
getXpos()+10, nodoactual.getYpos()+15);
nodoactual.visitado=true;
}
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
Logger.getLogger(PanelArbol.class.getName()).log(Level.SEVE
RE,null, ex);
}
for(Nodo hijonodo : nodoactual.getListNodo()){
if(!hijonodo.equals(nodoactual.getNodoList(nodoactual.getNod
oListCount()-1))&&!hijonodo.visitado){
g.setColor(Color.DARK_GRAY);
g.fillOval(hijonodo.getXpos(), hijonodo.getY
pos(), hijonodo.getAncho(), hijonodo.getAlto());
g.setColor(Color.BLACK);
g.drawString(hijonodo.getName(),hijonodo.g
etXpos()+10, hijonodo.getYpos()+15);
cola.add(hijonodo);
hijonodo.visitado=true;
}
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
Logger.getLogger(PanelArbol.class.getName()).log(Level.SEVE
RE,null, ex);
}
}
g.setColor(Color.BLACK );
g.fillOval(nodoactual.getXpos(), nodoactual.getYp
os(), nodoactual.getAncho(), nodoactual.getAlto());
g.setColor(Color.WHITE);
g.drawString(nodoactual.getName(),nodoactual.get
Xpos()+10, nodoactual.getYpos()+15);
}
bfs=false;
}
//Recorrido DFS
}
}
}
inteligencia1/PanelLista.javainteligencia1/PanelLista.javapacka
ge inteligencia1;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.LinkedList;
import javax.swing.JComponent;
publicclassPanelListaextendsJComponent{
BufferedImage imagen;
LinkedList<Nodo> lista;
int x,y;
publicPanelLista(int x,int y,int ancho,int alto){
this.setBounds(x, y, ancho, alto);
imagen =newBufferedImage(getWidth(),getHeight(),Buffer
edImage.TYPE_3BYTE_BGR);
imagen.getGraphics().setColor(Color.blue);
imagen.getGraphics().fillRect(0,0, ancho, alto);
}
publicvoid addListPaint(LinkedList<Nodo> lista){
this.lista=null;
this.lista=lista;
repaint();
}
@Override
publicvoid paint(Graphics g){
//this.paint(g);
int i=0,f;
x=y=0;
g.setColor(Color.WHITE );
g.fillRect(0,0,400,300);
if(lista!=null){
g.drawImage(imagen,0,0,this);
for(Nodo nodo: lista){
f=40;
g.setColor(Color.BLACK );
g.drawRect( x,y,25,25);
g.drawString(nodo.getName(), x+12, y+12);
if(nodo.getNodoListCount()>0){
for(Nodo nodolista: nodo.getListNodo()){
g.setColor(Color.BLUE );
g.drawRect( x+f,y,25,25);
g.drawString(nodolista.getName(), x+f+12, y+1
2);
g.setColor(Color.BLACK);
g.drawLine(x+f-15, y+12, x+f, y+12);
g.setColor(Color.RED );
g.drawString("|>", x+f-9, y+17);
f+=40;
}
}
y+=30;
}
}
}
publicvoidRepaint(){
repaint();
}
}
inteligencia1/Programa.form
inteligencia1/Programa.javainteligencia1/Programa.java/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package inteligencia1;
import java.util.LinkedList;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
/**
*
* @author Ismael
*/
publicclassProgramaextends javax.swing.JFrame{
MyDefaultTableModel model;
DefaultListModel modellista=newDefaultListModel();
String[] vector;
int ini=65;
int fin=90;
int limiteSpinner=10;
publicstaticLinkedList<Nodo> lista =newLinkedList();
publicstaticPanelLista panel;
// public static PanelArbol panelarbol;
publicstaticArbol panelarbol;
publicPrograma(){
initComponents();
Spinner.setValue(1);
panel=newPanelLista(11,370,400,300);
//panelarbol= new PanelArbol(450,70,450,500);
panelarbol=newArbol();
panelarbol.setDoubleBuffered(true);
panel.setDoubleBuffered(true);
this.add(panel);
this.add(panelarbol);
}
/**
* This method is called from within the constructor to initial
ize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-
fold defaultstate="collapsed" desc="Generated Code">//GEN-
BEGIN:initComponents
privatevoid initComponents(){
jLabel1 =new javax.swing.JLabel();
Spinner=new javax.swing.JSpinner();
jLabel2 =new javax.swing.JLabel();
jScrollPane1 =new javax.swing.JScrollPane();
tabla =new javax.swing.JTable();
jScrollPane2 =new javax.swing.JScrollPane();
fila =new javax.swing.JList();
btnMatriz =new javax.swing.JButton();
jLabel3 =new javax.swing.JLabel();
jLabel4 =new javax.swing.JLabel();
btnAleatorio =new javax.swing.JButton();
btnBFS =new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.
EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Tahoma",1,12));// NO
I18N
jLabel1.setText("Cantidad de Nodo ");
Spinner.addChangeListener(new javax.swing.event.ChangeListe
ner(){
publicvoid stateChanged(javax.swing.event.ChangeEvent evt){
SpinnerStateChanged(evt);
}
});
jLabel2.setFont(new java.awt.Font("Tahoma",1,12));// NO
I18N
jLabel2.setText("Matriz Adyacente");
tabla.setModel(new javax.swing.table.DefaultTableModel(
newObject[][]{
},
newString[]{
}
));
tabla.setSelectionMode(javax.swing.ListSelectionModel.SI
NGLE_SELECTION);
jScrollPane1.setViewportView(tabla);
tabla.getAccessibleContext().setAccessibleDescription("")
;
fila.setBackground(new java.awt.Color(240,240,240));
jScrollPane2.setViewportView(fila);
btnMatriz.setFont(new java.awt.Font("Tahoma",1,12));// N
OI18N
btnMatriz.setText("Desplegar Matriz ");
btnMatriz.addActionListener(new java.awt.event.ActionLi
stener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
btnMatrizActionPerformed(evt);
}
});
jLabel3.setFont(new java.awt.Font("Tahoma",1,12));// NO
I18N
jLabel3.setText("Lista Adyacente");
jLabel4.setFont(new java.awt.Font("Tahoma",1,12));// NO
I18N
jLabel4.setText("Dibujo Nodo");
btnAleatorio.setFont(new java.awt.Font("Tahoma",1,12));/
/ NOI18N
btnAleatorio.setText("LLenar Aleatoriamente");
btnAleatorio.addActionListener(new java.awt.event.Action
Listener(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
btnAleatorioActionPerformed(evt);
}
});
btnBFS.setFont(new java.awt.Font("Tahoma",1,12));// NO
I18N
btnBFS.setText("Navigacion BFS");
btnBFS.addActionListener(new java.awt.event.ActionListe
ner(){
publicvoid actionPerformed(java.awt.event.ActionEvent evt){
btnBFSActionPerformed(evt);
}
});
javax.swing.GroupLayout layout =new javax.swing.Group
Layout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.LEADING,false)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFE
RRED_SIZE,40, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacemen
t.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFE
RRED_SIZE,0,Short.MAX_VALUE))
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacemen
t.RELATED)
.addComponent(Spinner, javax.swing.GroupLayout.PREFERRE
D_SIZE,48, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2))
.addGap(18,18,18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.LEADING,false)
.addComponent(btnAleatorio, javax.swing.GroupLayout.DEFAU
LT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,Short.MA
X_VALUE)
.addComponent(btnMatriz, javax.swing.GroupLayout.DEFAUL
T_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,Short.MA
X_VALUE))))
.addGap(99,99,99)
.addComponent(jLabel4)
.addGap(31,31,31)
.addComponent(btnBFS, javax.swing.GroupLayout.PREFERRE
D_SIZE,151, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(186,Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lay
out.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(Spinner, javax.swing.GroupLayout.PREFERRE
D_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnMatriz)
.addComponent(jLabel4)
.addComponent(btnBFS))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacemen
t.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(btnAleatorio))
.addGap(20,20,20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayou
t.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFE
RRED_SIZE,205, javax.swing.GroupLayout.PREFERRED_SIZE
)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFE
RRED_SIZE,208, javax.swing.GroupLayout.PREFERRED_SIZE
))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacemen
t.UNRELATED)
.addComponent(jLabel3)
.addContainerGap(351,Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
//
privatevoid btnMatrizActionPerformed(java.awt.event.ActionEv
ent evt){//GEN-FIRST:event_btnMatrizActionPerformed
// TODO add your handling code here
int spin=Integer.parseInt(String.valueOf(Spinner.getValue()));
modellista=newDefaultListModel();
lista =newLinkedList();
if( spin !=0){
ini=65;
int cantidad=(spin<=limiteSpinner)?(int)spin-1:10;
vector=newString[cantidad+1];
modellista.clear();
for(int i=0;i<cantidad;i++){
vector[i]=""+(char)ini;
lista.add(newNodo(vector[i]));
modellista.addElement(vector[i]);
ini++;
}
lista.add(newNodo());
if(ini==75){
modellista.addElement(""+(char)ini);
lista.getLast().setName(""+(char)ini);
}
if(tabla.getColumnCount()<=10){
modellista.addElement(""+(char)ini);
lista.getLast().setName(""+(char)ini);
}
fila.setModel(modellista);
model=newMyDefaultTableModel(vector,vector.length)
;
tabla.setModel(model);
AddXYpos();
}else{
JOptionPane.showConfirmDialog(this,"La cantidad de nodo no
puede ser igual a 0");
}
}//GEN-LAST:event_btnMatrizActionPerformed
privatevoidAddXYpos(){
int[][] posicion={
{22,240},//1
{43,157},//2
{110,89},//3
{223,61},//4
{326,110},//5
{381,212},//6
{364,317},//8
{282,399},//7
{168,412},//9
{60,350}//10
};
for(int i=0;i<lista.size();i++){
lista.get(i).setXpos(posicion[i][0]);
lista.get(i).setYpos(posicion[i][1]);
}
for(Nodo nn : lista){
nn.setAlto(35);
nn.setAncho(35);
}
}
privatevoidSpinnerStateChanged(javax.swing.event.ChangeEven
t evt){//GEN-FIRST:event_SpinnerStateChanged
// TODO add your handling code here:
int sio=Integer.parseInt(String.valueOf(Spinner.getValue()));
if(sio<1){
Spinner.setValue(1);
}
elseif(sio>this.limiteSpinner){
Spinner.setValue(this.limiteSpinner);
}
}//GEN-LAST:event_SpinnerStateChanged
privatevoid btnAleatorioActionPerformed(java.awt.event.Action
Event evt){//GEN-FIRST:event_btnAleatorioActionPerformed
// TODO add your handling code here:
for(int c=0;c<tabla.getColumnCount();c++){
for(int f=0;f<tabla.getRowCount();f++){
tabla.setValueAt(String.valueOf((Math.random()<0
.5)?0:1), f, c);
}
}
}//GEN-LAST:event_btnAleatorioActionPerformed
privatevoid btnBFSActionPerformed(java.awt.event.ActionEven
t evt){//GEN-FIRST:event_btnBFSActionPerformed
// TODO add your handling code here:
panelarbol.BFS();
}//GEN-LAST:event_btnBFSActionPerformed
//
/**
* @param args the command line arguments
*/
publicstaticvoid main(String args[]){
/* Set the Nimbus look and feel */
//<editor-
fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay wit
h the default look and feel.
* For details see http://download.oracle.com/javase/tutori
al/uiswing/lookandfeel/plaf.html
*/
try{
for(javax.swing.UIManager.LookAndFeelInfo info : javax.swing
.UIManager.getInstalledLookAndFeels()){
if("Nimbus".equals(info.getName())){
javax.swing.UIManager.setLookAndFeel(info.getC
lassName());
break;
}
}
}catch(ClassNotFoundException ex){
java.util.logging.Logger.getLogger(Programa.class.getN
ame()).log(java.util.logging.Level.SEVERE,null, ex);
}catch(InstantiationException ex){
java.util.logging.Logger.getLogger(Programa.class.getN
ame()).log(java.util.logging.Level.SEVERE,null, ex);
}catch(IllegalAccessException ex){
java.util.logging.Logger.getLogger(Programa.class.getN
ame()).log(java.util.logging.Level.SEVERE,null, ex);
}catch(javax.swing.UnsupportedLookAndFeelException ex){
java.util.logging.Logger.getLogger(Programa.class.getN
ame()).log(java.util.logging.Level.SEVERE,null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(newRunnable(){
@Override
publicvoid run(){
newPrograma().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JSpinnerSpinner;
private javax.swing.JButton btnAleatorio;

inteligencia1Arbol.javainteligencia1Arbol.javapackage inteli.docx