複製代碼代碼如下:
包com.hongyuan.gui;
導入java.awt.eventqueue;
導入Java.awt.event.ActionEvent;
導入Java.awt.event.ActionListener;
導入javax.swing.jbutton;
導入javax.swing.jframe;
導入javax.swing.jpanel;
導入javax.swing.swingiritions;
導入javax.swing.uimanager;
導入javax.swing.unsupportedlookandfeelexception;
公共類Plaftest {
公共靜態void main(string [] args){
eventqueue.invokelater(new runnable(){
@Override
public void run(){
plafframe Frame = new Plafframe();
frame.setDefaultClosePoration(jframe.exit_on_close);
frame.setvisible(true);
}
});
}
}
類plafframe擴展了Jframe
{
私人jpanel buttonpanel;
public plafframe(){
this.settitle(“ plaftest”);
this.setsize(400,300);
ButtonPanel = new Jpanel();
//查詢觀感並生成按鈕
uimanager.lookandfeelinfo [] infos = uimanager.getInstalledLookandFeels();
for(uimanager.lookandfeelinfo信息:infos){
makeButton(info.getName(),info.getClassName());
}
this.add(buttonpanel);
}
void makebutton(字符串名稱,最終字符串plafname){
jbutton button = new jbutton(name);
buttonpanel.add(button);
button.AddactionListener(new ActionListener(){
@Override
公共void Action Performed(ActionEvent E){
嘗試 {
//設置觀感並更新組件
uimanager.setlookandfeel(plafname);
swingutilities.updatecomponenttreeui(plafframe.this);
} catch(classNotFoundException | instantiationException
| Illegalaccessexception
|無基pordedlookandfeelexceptione1){
e1.printstacktrace();
}
}
});
}
}