复制代码代码如下 :
패키지 com.hongyuan.gui;
java.awt.eventqueue import;
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;
import javax.swing.unsupportedLookandFeElexception;
공개 클래스 Plaftest {
public static void main (String [] args) {
eventqueue.invokelater (new Runnable () {
@보수
public void run () {
plafframe frame = new plafframe ();
frame.setDefaultCloseOperation (jframe.exit_on_close);
frame.setVisible (true);
}
});
}
}
클래스 plafframe은 jframe을 확장합니다
{
개인 jpanel ButtonPanel;
public plafframe () {
this.settitle ( "plaftest");
this.setsize (400, 300);
ButtonPanel = 새로운 jpanel ();
// 查询观感并生成按钮
uimanager.lookandfeelinfo [] infos = uimanager.getInstalledLookandFeels ();
for (uimanager.lookandfeelinfo info : infos) {
makeButton (info.getName (), info.getClassName ());
}
this.add (ButtonPanel);
}
void makebutton (문자열 이름, 최종 문자열 plafname) {
JBUTTON 버튼 = 새로운 JBUTTON (이름);
ButtonPanel.add (버튼);
button.addactionListener (new ActionListener () {
@보수
public void actionperformed (ActionEvent e) {
노력하다 {
// 设置观感并更新组件
UIMANAGER.SETLOOKANDFEEL (PLAFNAME);
SwingUtilities.updatecomponentTreeui (plafframe.this);
} catch (classNotFoundException | InstantiationException
| 불법 행위 지출
| UnsupportedLookandFeElexception e1) {
e1.printstacktrace ();
}
}
});
}
}