srecord noeq JFilePathLabel(File file) { transient JLabel label; transient JFilePathButton button; bool nameOnly; visualize { if (file == null) ret jlabel("-"); label = jlabel(nameOnly ? fileName(file) : f2s(file)); button = new JFilePathButton(file); ret layout(); } JComponent layout() { //ret centerAndEastWithMargin(label, button); ret jline(label, button.visualize()); } void showInExplorer { button.showInExplorer(); } selfType nameOnly() { set nameOnly; this; } }