static JComponent ffmpegVersionPanel() { JLabel lblVersion = jlabel(); Runnable update = callAndReturn(r { setText(lblVersion, or2(ffmpegVersion(), "Error: FFMPEG not found!")) }); bindAutoCloseableToComponent(() -> vmBus_onMessage ffmpegLocationChanged(update), lblVersion); ret centerAndEastWithMargin( withLabel("FFMPEG version:", lblVersion), jbutton("Browse for FFMPEG...", r { File f = showFileChooser(); if (f == null) ret; if (!(fileExists(f) && swic(fileName(f), "ffmpeg"))) ret with infoBox("Not a suitable ffmpeg executable"); setFFMpegLocation(f); })); }