Download Jar. Uses 3874K of libraries. Click here for Pure Java version (2682L/19K).
1 | !7 |
2 | |
3 | import javax.swing.plaf.LayerUI; |
4 | |
5 | static class ZoomUI extends LayerUI<JComponent> {
|
6 | double zoom = 1.5; |
7 | |
8 | public void paint(Graphics g, JComponent c) {
|
9 | Graphics2D g2 = (Graphics2D) g.create(); |
10 | g2.scale(zoom, zoom); |
11 | super.paint(g2, c); |
12 | g2.dispose(); |
13 | } |
14 | |
15 | public void installUI(JComponent c) {
|
16 | super.installUI(c); |
17 | JLayer jlayer = (JLayer)c; |
18 | jlayer.setLayerEventMask( |
19 | AWTEvent.MOUSE_EVENT_MASK | AWTEvent.ACTION_EVENT_MASK | |
20 | AWTEvent.MOUSE_MOTION_EVENT_MASK |
21 | ); |
22 | } |
23 | |
24 | @Override |
25 | public void uninstallUI(JComponent c) {
|
26 | JLayer jlayer = (JLayer)c; |
27 | jlayer.setLayerEventMask(0); |
28 | super.uninstallUI(c); |
29 | } |
30 | |
31 | protected void processMouseEvent(MouseEvent e, JLayer l) {
|
32 | /*l.getView().dispatchEvent(new MouseEvent(e.getComponent(), |
33 | e.getID(), |
34 | e.getWhen(), |
35 | e.getModifiers(), |
36 | iround(e.getX()/zoom), |
37 | iround(e.getY()/zoom), |
38 | e.getXOnScreen(), |
39 | e.getYOnScreen(), |
40 | e.getClickCount(), |
41 | e.isPopupTrigger(), |
42 | e.getButton())); |
43 | e.consume();*/ |
44 | } |
45 | |
46 | protected void processMouseMotionEvent(MouseEvent e, JLayer l) {
|
47 | processMouseEvent(e, l); |
48 | } |
49 | } |
50 | |
51 | p-substance {
|
52 | LayerUI<JComponent> layerUI = new ZoomUI; |
53 | JPanel panel = createPanel(); |
54 | JLayer<JComponent> jlayer = new JLayer<JComponent>(panel, layerUI); |
55 | centerFrame(setFrameSize(showFrame(jlayer), 300, 200)); |
56 | } |
57 | |
58 | static JPanel createPanel() {
|
59 | JPanel p = new JPanel(); |
60 | |
61 | ButtonGroup entreeGroup = new ButtonGroup(); |
62 | JRadioButton radioButton; |
63 | p.add(radioButton = new JRadioButton("Beef", true));
|
64 | entreeGroup.add(radioButton); |
65 | p.add(radioButton = new JRadioButton("Chicken"));
|
66 | entreeGroup.add(radioButton); |
67 | p.add(radioButton = new JRadioButton("Vegetable"));
|
68 | entreeGroup.add(radioButton); |
69 | |
70 | p.add(new JCheckBox("Ketchup"));
|
71 | p.add(new JCheckBox("Mustard"));
|
72 | p.add(new JCheckBox("Pickles"));
|
73 | |
74 | p.add(new JLabel("Special requests:"));
|
75 | p.add(new JTextField(20)); |
76 | |
77 | JButton orderButton = new JButton("Place Order");
|
78 | p.add(orderButton); |
79 | |
80 | return p; |
81 | } |
Began life as a copy of #1009901
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1009902 |
| Snippet name: | Zoomed Swing [dev.] |
| Eternal ID of this version: | #1009902/5 |
| Text MD5: | 96f01f4898e9f867b04efaffe8280ded |
| Transpilation MD5: | 5d809906a82b68475bee1cc253c77b9c |
| Author: | stefan |
| Category: | javax / gui |
| Type: | JavaX source code (desktop) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2017-08-24 00:33:52 |
| Source code size: | 2166 bytes / 81 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 959 / 2372 |
| Version history: | 4 change(s) |
| Referenced in: | [show references] |