Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonRadioUI.java
41154 views
1
/*
2
* Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package com.apple.laf;
27
28
import javax.swing.JComponent;
29
import javax.swing.ImageIcon;
30
import javax.swing.JRadioButton;
31
import javax.swing.Icon;
32
import javax.swing.AbstractButton;
33
import javax.swing.AbstractAction;
34
import javax.swing.KeyStroke;
35
import javax.swing.DefaultButtonModel;
36
import javax.swing.ButtonGroup;
37
import javax.swing.ButtonModel;
38
import javax.swing.plaf.ComponentUI;
39
40
import java.awt.Component;
41
import java.awt.AWTKeyStroke;
42
import java.awt.KeyboardFocusManager;
43
44
import java.awt.event.ActionEvent;
45
import java.awt.event.KeyListener;
46
import java.awt.event.KeyEvent;
47
48
import apple.laf.JRSUIConstants.Widget;
49
import com.apple.laf.AquaUtilControlSize.SizeVariant;
50
import com.apple.laf.AquaUtilControlSize.SizeDescriptor;
51
import com.apple.laf.AquaUtils.RecyclableSingleton;
52
import com.apple.laf.AquaUtils.RecyclableSingletonFromDefaultConstructor;
53
54
import java.util.HashSet;
55
import java.util.Set;
56
import java.util.Enumeration;
57
58
public class AquaButtonRadioUI extends AquaButtonLabeledUI {
59
60
private static final RecyclableSingleton<AquaButtonRadioUI> instance = new RecyclableSingletonFromDefaultConstructor<AquaButtonRadioUI>(AquaButtonRadioUI.class);
61
private static final RecyclableSingleton<ImageIcon> sizingIcon = new RecyclableSingleton<ImageIcon>() {
62
protected ImageIcon getInstance() {
63
return new ImageIcon(AquaNativeResources.getRadioButtonSizerImage());
64
}
65
};
66
67
public static ComponentUI createUI(final JComponent b) {
68
return instance.get();
69
}
70
71
public static Icon getSizingRadioButtonIcon() {
72
return sizingIcon.get();
73
}
74
75
protected String getPropertyPrefix() {
76
return "RadioButton" + ".";
77
}
78
79
protected AquaButtonBorder getPainter() {
80
return new RadioButtonBorder();
81
}
82
83
public static class RadioButtonBorder extends LabeledButtonBorder {
84
public RadioButtonBorder() {
85
super(new SizeDescriptor(new SizeVariant().replaceMargins("RadioButton.margin")));
86
painter.state.set(Widget.BUTTON_RADIO);
87
}
88
89
public RadioButtonBorder(final RadioButtonBorder other) {
90
super(other);
91
}
92
}
93
}
94
95