Java Swing组件定制RadioButton示例

2025-05-29 0 88

本文实例讲述了java swing组件定制radiobutton。分享给大家供大家参考,具体如下:

先来看看效果图:

Java Swing组件定制RadioButton示例

具体代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95
package themedemo;

import java.awt.basicstroke;

import java.awt.borderlayout;

import java.awt.color;

import java.awt.graphics2d;

import java.awt.gridlayout;

import java.awt.renderinghints;

import java.util.map;

import javax.swing.borderfactory;

import javax.swing.jcomponent;

import javax.swing.jframe;

import javax.swing.jpanel;

import javax.swing.jradiobutton;

import javax.swing.painter;

import javax.swing.swingutilities;

import javax.swing.uidefaults;

import javax.swing.uimanager;

import javax.swing.windowconstants;

public class radiobuttonskindemo {

public static void main(string[] args) {

swingutilities.invokelater(new runnable() {

public void run() {

for (uimanager.lookandfeelinfo laf : uimanager

.getinstalledlookandfeels()) {

if ("nimbus".equals(laf.getname())) {

try {

uimanager.setlookandfeel(laf.getclassname());

} catch (exception e) {

e.printstacktrace();

}

}

}

for (map.entry<object, object> entry : uimanager

.getlookandfeeldefaults().entryset()) {

if ((entry.getkey().tostring()).startswith("radiobutton")) {

system.out.println(entry.getkey() + " = "

+ entry.getvalue());

}

}

jframe frame = new jframe(

"www.zzvips.com - radiobutton skining demo");

frame.setdefaultcloseoperation(windowconstants.exit_on_close);

frame.getcontentpane().setlayout(new borderlayout());

jpanel panel = new jpanel(new gridlayout(0, 1, 20, 20));

panel.setborder(borderfactory.createemptyborder(20, 20, 20, 20));

panel.setbackground(color.darkgray);

uidefaults radiobuttondefaults = new uidefaults();

radiobuttondefaults.put("radiobutton.iconpainter",

new painter<jcomponent>() {

public void paint(graphics2d g, jcomponent c,

int w, int h) {

g.setrenderinghint(

renderinghints.key_antialiasing,

renderinghints.value_antialias_on);

g.setstroke(new basicstroke(2f));

g.setcolor(color.white);

g.filloval(1, 1, w - 4, h - 4);

g.setcolor(color.light_gray);

g.drawoval(1, 1, w - 4, h - 4);

}

});

radiobuttondefaults.put("radiobutton[selected].iconpainter",

new painter<jcomponent>() {

public void paint(graphics2d g, jcomponent c,

int w, int h) {

g.setrenderinghint(

renderinghints.key_antialiasing,

renderinghints.value_antialias_on);

g.setstroke(new basicstroke(2f));

g.setcolor(color.white);

g.filloval(1, 1, w - 4, h - 4);

g.setcolor(color.dark_gray);

g.filloval(5, 5, w - 11, h - 11);

g.setcolor(color.light_gray);

g.drawoval(1, 1, w - 4, h - 4);

}

});

jradiobutton radiobutton = new jradiobutton("myradiobutton");

panel.add(radiobutton);

radiobutton.putclientproperty("nimbus.overrides",

radiobuttondefaults);

radiobutton.putclientproperty(

"nimbus.overrides.inheritdefaults", false);

// add a normal themed slider for comparison

jradiobutton normalradionbutton = new jradiobutton(

"normalradionbutton");

panel.add(normalradionbutton);

frame.getcontentpane().add(panel, borderlayout.center);

frame.pack();

frame.setlocationrelativeto(null);

frame.setvisible(true);

}

});

}

}

希望本文所述对大家java程序设计有所帮助。

原文链接:http://blog.csdn.net/gaowen_han/article/details/19754791

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java Swing组件定制RadioButton示例 https://www.kuaiidc.com/112587.html

相关文章

发表评论
暂无评论