复制代码代码如下::
Paket com.hongyuan.gui;
Import Java.awt.Eventqueue;
import Java.awt.event.ActionEvent;
import Java.awt.event.ActionListener;
import Javax.swing.jbutton;
importieren javax.swing.jframe;
import Javax.swing.jpanel;
importieren javax.swing.swingutilities;
import Javax.swing.uimanager;
importieren javax.swing.unsupporteedlookandfeelexception;
öffentliche Klassen Plantest {
public static void main (String [] args) {
EventQueue.invokelater (new Runnable () {
@Override
public void run () {
Plafframe Frame = new plafframe ();
Frame.SetDefaultCloseOperation (jframe.exit_on_close);
Frame.SetVisible (True);
}
});
}
}
Klasse Plafframe erweitert JFrame
{
Privat Jpanel ButtonPanel;
public plafframe () {
this.settitle ("plaftest");
this.setSize (400, 300);
buttonPanel = new jpanel ();
// 查询观感并生成按钮
Uimanager.lookandfeelinfo [] Infos = uimanager.getInstalledLookandfeels ();
für (uimanager.lookandfeelinfo Info: Infos) {
Makebutton (info.getName (), info.getClassName ());
}
this.add (buttonPanel);
}
void Makebutton (String -Name, endgültiger String Plafname) {
Jbutton Button = New Jbutton (Name);
buttonPanel.add (button);
button.addactionListener (new actionListener () {
@Override
public void actionperformed (actionEvent e) {
versuchen {
// 设置观感并更新组件
Uimanager.setlookandfeel (Plafname);
Swingutilities.UpDateComponentTreeUi (Plafframe.This);
} catch (classNotFoundException | InstantiationException
| Illegalaccessexception
| Nicht unterstützte LookandfeElException E1) {
e1.printstacktrace ();
}
}
});
}
}