Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.
Cómo vibrar, emitir un beep y usar el portapapeles
Propósito. Dar feedback rápido al usuario: vibrar el aparato, reproducir un beep y copiar/pegar texto en el portapapeles.
APIs usadas
Device.vibrate(int millis)— vibra durantemillisms. En iOS la duración se ignora (no hay forma de definir el tiempo en esa plataforma).Device.beep()— reproduce el sonidobeep.mp3precargado. No bloquea (agenda la reproducción en la render thread).Device.clipboardCopy(String s)— copia la cadena al portapapeles.Device.clipboardPaste()→String— devuelve la última cadena del portapapeles, o""si está vacío.
Nota. Todos son métodos estáticos de
Device. Son seguros para llamar desde cualquier thread (beep()internamente agenda en la render thread).clipboardPaste()nunca devuelvenull— devuelve una cadena vacía cuando no hay nada.
Ejemplo completo (copiar, pegar y ejecutar)
package com.exemplo;
import dev.crossfly.ui.*; // Window, Button, Label
import dev.crossfly.ui.layout.*; // VerticalLayout
import dev.crossfly.device.*; // Device
/** 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 resultado = new Label("");
add(LAY_AUTO, resultado);
Button acao = new Button("Vibrar, beep e copiar");
acao.onAction(c ->
{
// Feedback táctil y sonoro (métodos estáticos, seguros desde cualquier thread)
Device.vibrate(50); // 50ms (ignorado en iOS)
Device.beep(); // no bloquea
// Portapapeles
Device.clipboardCopy("Texto para copiar");
String colado = Device.clipboardPaste(); // "" si el clipboard está vacío
resultado.setText("Clipboard: " + colado);
});
add(LAY_AUTO, acao);
}
}
El fragmento de abajo muestra solo el núcleo. Para ejecutarlo, colócalo en el esqueleto
MainWindowde arriba.
Fragmento mínimo
// verificado en la fuente: Device.java (vibrate línea 253, beep línea 306, clipboardCopy línea 271, clipboardPaste línea 279)
import dev.crossfly.device.*; // Device
// Feedback táctil y sonoro
Device.vibrate(50); // 50ms (ignorado en iOS)
Device.beep(); // no bloquea
// Portapapeles
Device.clipboardCopy("Texto para copiar");
String colado = Device.clipboardPaste(); // "" si el clipboard está vacío
Profundiza
- Guía de sonido y varios: Sonido y varios
- Receta hermana: tts-stt.md
¿Te resultó útil esta página?¡Gracias por tu opinión!