Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.
FilePicker
🔴 · Paquete:
dev.crossfly.ui.picker· Extiende:Picker· Estado: reservado (no disponible)
FilePicker está reservado en la API 2026: en el código actual es solo un esqueleto vacío —
public class FilePicker extends Picker {}
— sin constructores, campos, layout ni getAnswer() propio. Hereda el getAnswer() de la base (Picker), que devuelve null; por lo tanto no produce resultado y no debe usarse.
Ejemplo completo (copiar, pegar y ejecutar)
FilePicker está reservado y no produce resultado (hereda getAnswer() de la base, que devuelve null). El ejemplo siguiente es ejecutable y demuestra honestamente esa limitación: muestra el picker, recoge el getAnswer() e informa que vino null. Para elegir medios de verdad, el botón contiguo usa la alternativa disponible, PhotoPicker.
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
import dev.crossfly.ui.picker.*;
/** Pantalla principal ejecutable. Apunta el launcher (classname) y corre: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
Label saida = new Label("Resultado: —");
add(LAY_AUTO, saida);
// FilePicker es un esqueleto reservado: getAnswer() siempre devuelve null.
Button tentarFilePicker = new Button("Tentar FilePicker (reservado)")
.onAction(c ->
{
FilePicker fp = new FilePicker();
fp.show(answer ->
saida.setText("FilePicker devolveu: " + answer + " (reservado, sem resultado)"));
});
add(LAY_AUTO, tentarFilePicker);
// Alternativa real para capturar medios: PhotoPicker.
Button usarPhotoPicker = new Button("Alternativa: PhotoPicker")
.onAction(c ->
{
PhotoPicker pp = new PhotoPicker(PhotoPicker.Preview.PHOTO);
pp.show(answer ->
{
String caminho = (String) answer;
if (pp.isError())
saida.setText("Erro de câmera: " + caminho);
else
saida.setText("Foto salva em: " + caminho);
});
});
add(LAY_AUTO, usarPhotoPicker);
}
}
Los fragmentos siguientes muestran solo el núcleo (lo que va dentro de
onShow()). Para ejecutar, colócalos en el esqueletoMainWindowde arriba.
Objetivo previsto
Navegar el sistema de archivos y devolver la ruta del archivo/carpeta seleccionado. El comentario en el fuente indica la intención de migrar desde un selector basado en árbol lazy a partir de un root — pero eso todavía no se ha portado.
Lo que NO existe (no lo documentes como disponible)
La implementación anterior (árbol lazy con Tree/TreeModel, previsualización de imagen, volúmenes vía Dropdown, selección múltiple) fue eliminada, coherente con la eliminación del módulo ui/tree en la modernización. Las APIs antiguas — Filter, initialPath, multipleSelection, mountTree, getTree, etc. — ya no existen.
Alternativas mientras está reservado
- Para capturar medios de la cámara, usa
PhotoPicker. - Para elegir un color/fecha/hora, usa los pickers específicos.
- Trata
FilePickercomo no disponible hasta que el código tenga cuerpo.