en fin el punto es que no he logrado colocar los checkbox y aun que lo intentnado de mas de 1 forma no logro hacer que se coloquen en donde deven solo me aparecen todos regados asi que si alguien me puede ayudar con los chekcbox lo agreciria aki les dejo mi codigo para que le den una mirida
esta es la clase principal [osea el mini file browse xDD]
Código PHP:
import javax.swing.*;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.*;
import java.io.*;
import java.net.URL;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
@SuppressWarnings("serial")
public class ArbolFinal extends JApplet implements TreeSelectionListener, TreeExpansionListener, ActionListener {
private JScrollPane skrullist;
private JScrollPane skrull3;
private JList lista_archivos;
private JTree arbol;
private DefaultListModel archivos; //ARRAY DE ARCHIVOS PARA LA LISTA
private JSplitPane split;
private JButton boton;
PreparedStatement stmt;
public void init() {
if( WIDTH < 200 || HEIGHT < 200 )
resize( 1040,458);
}
public ArbolFinal(){
File d_raiz = new File("/");// DIRECTORIO INICIAL
DefaultMutableTreeNode raiz = new DefaultMutableTreeNode(d_raiz);
remover_nodos(raiz, d_raiz);
this.setLayout(new BorderLayout());
arbol = new JTree(raiz);
arbol.getSelectionModel().addTreeSelectionListener(this);
arbol.addTreeExpansionListener(this);
skrull3 = new JScrollPane(arbol);
skrull3.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
archivos = new DefaultListModel();
lista_archivos = new JList(archivos);
lista_archivos.setCellRenderer(new relleno());
lista_archivos.setLayoutOrientation(JList.HORIZONTAL_WRAP);
lista_archivos.setVisibleRowCount(-3);
lista_archivos.setSize(500, 600);
skrullist = new JScrollPane(lista_archivos);
skrullist.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
split = new JSplitPane();
split.setLeftComponent(skrull3);
split.setRightComponent(skrullist);
split.setSize(500, 600);
split.setOneTouchExpandable(true);
boton = new JButton("Subir Imagenes");
boton.setEnabled(true);
boton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(e.getSource()== boton){
//System.out.println("El boton funciona");
WardarImagen();
}
}
});
getContentPane().add(split, BorderLayout.CENTER);
getContentPane().add(boton, BorderLayout.NORTH);
setVisible(true);
}
public void WardarImagen(){
int index[];
String archivo,nombre,ubicacion;
index = lista_archivos.getSelectedIndices();
for(int i = 0; i<index.length;i++){
archivo = archivos.getElementAt(index[i]).toString();
File niu = new File(archivo);
nombre = niu.getName();
ubicacion = niu.getAbsolutePath();
//ext = nombre.substring(nombre.lastIndexOf('.') + 1, nombre.length());
probando(ubicacion,nombre);
}
}
//itn tamaño, int id_album, string ext, string nombre, string ubicacion, string accion)
private void probando(String ubicacion, String nombre){
try{
getAppletContext().showDocument(new URL("http://localhost/Edy/Applet_Uploader/copy.php?ubi="+ubicacion+"&nom="+nombre), "_blank");
}catch(Exception e){ }
}
@SuppressWarnings("unused")
private boolean remover_nodos(DefaultMutableTreeNode nodo, File directorio ){
nodo.removeAllChildren();
return remover_nodos(nodo,directorio,2);
}
private boolean remover_nodos(DefaultMutableTreeNode nodo, File directorio, int ind) {
File[] dir = directorio.listFiles(new FileFilter(){
public boolean accept(File ubicacion){
return ubicacion.isDirectory();
}
});//CREAMOS UNA LISTA SOLO CON LOS DIRECTORIOS Y NO CON EL CONTENIDO
if(dir != null && ind > 0){
for(int i = 0; i<dir.length; i++){
DefaultMutableTreeNode cursor = new DefaultMutableTreeNode(dir[i]);
remover_nodos(cursor,dir[i],ind -1);
nodo.add(cursor);
}//RELLENAMOS EL ARBOL CON LOS DIRECTORIOS Y CREAMOS LA FUNCION RECURISVA
}
return true;
}
public void valueChanged(TreeSelectionEvent e){
DefaultMutableTreeNode nodo = (DefaultMutableTreeNode)
arbol.getLastSelectedPathComponent();
if(nodo == null) return;
File f = (File) nodo.getUserObject();
File[] arch = f.listFiles(new FileFilter(){
public boolean accept(File dir){
return dir.isFile();
}
});//CREAMOS UN LIST FILES PERO SOLO CON ARCHIVOS
String nombre, ext;
archivos.removeAllElements();
if(arch !=null){
for(int i = 0 ; i<arch.length; i++){
nombre = arch[i].getName();//OBTENEMOS EL NOMBRE DEL ARCHIVO
ext = nombre.substring(nombre.lastIndexOf('.') + 1, nombre.length()); //OBTENEMOS LA EXTENCION
if(ext.equals("jpg") || ext.equals("gif") || ext.equals("png")){
archivos.addElement(arch[i]);//WARDAMOS SOLO LAS IMAGENES
}
}
}
}
public void treeExpanded(TreeExpansionEvent event) {
TreePath direc = event.getPath();
DefaultMutableTreeNode nodo = (DefaultMutableTreeNode) direc.getLastPathComponent();
if(nodo == null) return;
setCursor(new Cursor(Cursor.WAIT_CURSOR));
File f = (File) nodo.getUserObject();
remover_nodos(nodo,f);
JTree arbolito = (JTree) event.getSource();
DefaultTreeModel modelo = (DefaultTreeModel) arbolito.getModel();
modelo.nodeStructureChanged(nodo);
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void treeCollapsed(TreeExpansionEvent event){/*_*/}
public void actionPerformed(ActionEvent e){/*_*/}
}
Código PHP:
import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
import java.io.File;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
@SuppressWarnings("serial")
public class relleno extends JLabel implements ListCellRenderer {
public Component getListCellRendererComponent(JList lista, Object valores,
int index, boolean isSelected, boolean cellHasFocus) {
Image img;
ImageIcon icono = null;
File f = (File) valores;
img = Toolkit.getDefaultToolkit().getImage(f.getAbsolutePath());
icono = new ImageIcon(img.getScaledInstance(128, 128, Image.SCALE_SMOOTH));
setIcon(icono);
setText(f.getName());;
setOpaque(true);
if (isSelected){
setBackground(Color.darkGray);
setForeground(Color.green);
}
else{
setBackground(Color.WHITE);
setForeground(Color.BLACK);
}
return this;
}
}
Código PHP:
<?php
$file = $_GET['ubi'];
$nombre = $_GET['nom'];
$newfile = "imagen/".$nombre;
if (!copy($file, $newfile)) {
echo "failed to copy $file...\n";
}
else
{
echo "copy Done!!!";
}
?>
a si quieren darme una ayudadita con el diseño [aun que el aspecto visual es lo menos importaten por el momento] no hay problema
gracias