复制代码代码如下:
Package com.hongyuan.gui;
import java.awt.eventqueue;
import java.awt.event.actionEvent;
import java.awt.event.actionListener;
import javax.swing.jbutton;
import javax.swing.jframe;
import javax.swing.jpanel;
import javax.swing.swingutilities;
import javax.swing.uimanager;
Importer javax.swing.unsupportedLookAndFeelException;
classe publique Plaftest {
public static void main (String [] args) {
EventQueue.invokelater (new Runnable () {
@Outrepasser
public void run () {
Plafframe frame = new Plafframe ();
frame.setDefaultCloseOperation (jframe.exit_on_close);
frame.setVisible (true);
}
});
}
}
La classe Plafframe étend JFrame
{
Buttonpanel JPanel privé;
Public Plafframe () {
this.setTitle ("plaftest");
this.setSize (400, 300);
ButtonPanel = new JPanel ();
// 查询观感并生成按钮
Uimanager.lookandfeeLinfo [] infos = uimanager.getInStalledLookAndFeels ();
for (uimanager.lookandfeeLinfo info: infos) {
MakeButton (info.getName (), info.getClassName ());
}
this.add (boutonpanel);
}
void makeButton (nom de chaîne, chaîne finale plafname) {
JBUTTON Button = new Jbutton (nom);
ButtonPanel.add (bouton);
Button.addactionListener (new ActionListener () {
@Outrepasser
public void ActionPerformed (ActionEvent e) {
essayer {
// 设置观感并更新组件
Uimanager.setLookAndFeel (plafname);
Swingutiability.updatecomponentTreeui (Plafframe.Ce);
} catch (classNotFoundException | InstantiationException
| IllégalaccessException
| Non étayé, LookandFeelException e1) {
e1.printStackTrace ();
}
}
});
}
}