Transpiled version (13444L) is out of date.
1 | srecord noeq JFilePathLabel(File file) is Swingable { |
2 | transient JLabel label; |
3 | transient JFilePathButton button; |
4 | transient JPanel buttons = jline(); |
5 | bool nameOnly; |
6 | settable bool iconOnTheLeft; |
7 | settable bool minWidth; // allow file path to be shortened if layout requires it |
8 | |
9 | cachedVisualize { |
10 | label = jlabel(); |
11 | if (minWidth) jnarrowLabel(label); |
12 | makeButtons(); |
13 | update(); |
14 | ret layout(); |
15 | } |
16 | |
17 | void makeButtons { |
18 | button = new JFilePathButton(file); |
19 | buttons.add(button.visualize()); |
20 | } |
21 | |
22 | void setFile(File file) { |
23 | this.file = file; |
24 | update(); |
25 | } |
26 | |
27 | File file aka get() { ret file; } |
28 | |
29 | void update { |
30 | setText(label, file == null ? "-" : nameOnly ? fileName(file) : f2s(file)); |
31 | if (nameOnly) toolTip(file == null ? "No file" : f2s(file), label); |
32 | button.setFile(file); |
33 | } |
34 | |
35 | JComponent layout() { |
36 | var a = buttons; |
37 | var b = label; |
38 | ret iconOnTheLeft |
39 | ? minWidth ? westAndCenterWithMargin(a, b) : jline(a, b) |
40 | : minWidth ? centerAndEastWithMargin(b, a) : jline(b, a); |
41 | } |
42 | |
43 | void showInExplorer { button.showInExplorer(); } |
44 | |
45 | selfType nameOnly() { set nameOnly; this; } |
46 | } |
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1034207 |
Snippet name: | JFilePathLabel - JLabel showing file path and allowing to open in file exporer |
Eternal ID of this version: | #1034207/24 |
Text MD5: | b42a46299c6aa15b2e73747f30161045 |
Author: | stefan |
Category: | javax / screen recognition |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-04-01 22:16:27 |
Source code size: | 1211 bytes / 46 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 204 / 434 |
Version history: | 23 change(s) |
Referenced in: | [show references] |