private class MyItemListener implements ItemListener{ public void itemStateChanged(ItemEvent e) {9 q8 r3 |7 e* A: Y7 g3 ]/ g! j
//取得点击按钮的名字
F8 G9 d/ A; I. ~: g- O String itemName= ((JRadioButton)e.getSource()).getText();' t @' Y5 [. | t: s: i$ p( D& N
changeLookAndFeel(itemName);
' A+ {$ @( e5 B' Y }# N+ b$ n, m1 J j
}
8 T: w- U6 b' I I2 p8 X X% y //设置外观的private类型方法* e' ?. Y) w4 `, j- g, w0 l$ |
private void changeLookAndFeel(String name){; v% }7 n; Y2 S4 u& i6 K! C" Y, c
String lookName="";
. b7 ^( O/ c% Q" c5 b' J' F if(name.equals("Metal")){7 s1 p3 q6 c" q N; z
lookName="javax.swing.plaf.metal.MetalLookAndFeel";
0 |' k* ?9 K: k+ W$ q$ Z" `9 r } N6 D# n% {. y$ o2 u
if(name.equals("Windows")){
3 _2 e% k6 n7 Q4 l, }1 [) T9 Z lookName="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";& P0 U5 ]0 R) ]* n7 R3 ?' O
}
- g% q" y' }) _& i if(name.equals("Nimbus")){
V6 g- |5 m& \ ^& Q: C lookName="com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";* O3 [8 r: c3 w2 z" w% P
}5 \! L" h% ]. B$ t8 n! z* A
if(name.equals("Motif")){2 r) A6 b8 i& }0 _! j
lookName="com.sun.java.swing.plaf.motif.MotifLookAndFeel";" y2 _! D8 I2 w
}
( s1 Q3 m( q4 X) ]6 _. k try{6 ~5 h$ A4 z$ [" v) c, k& x
UIManager.setLookAndFeel(lookName);
' M5 j: b+ w7 Z; Y3 D //下面这句话必须有 ,否则外观不会发生变化% p! @% N3 K# K+ S$ i0 O* I, Q
SwingUtilities.updateComponentTreeUI(this);
; B1 I& Y7 F( Q% a area.setText("当前外观类名:\n"+lookName);
' ]6 Z4 C; Q7 T9 R1 x
1 Q2 U' k& w+ T! V } |