package swing;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
* 设置观感
*/
public class PlafTest {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
PalfFrame frame = new PalfFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class PalfFrame extends JFrame {
public PalfFrame() {
this.setTitle("Palf Test");
this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
buttonPanel = new JPanel();
UIManager.LookAndFeelInfo[] infos = UIManager.getInstalledLookAndFeels();
for(UIManager.LookAndFeelInfo info : infos) {
makeButton(info.getName(), info.getClassName());
}
this.add(buttonPanel);
}
private void makeButton(String name, final String className) {
JButton button = new JButton(name);
buttonPanel.add(button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
try {
UIManager.setLookAndFeel(className);
//刷新所有的组件,显示的传递this
SwingUtilities.updateComponentTreeUI(PalfFrame.this);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
private JPanel buttonPanel;
}
本文介绍了一个使用Java Swing创建GUI应用程序的示例,演示了如何通过按钮切换不同的外观和感觉(LookAndFeel)。该示例展示了如何获取已安装的LookAndFeel,并为每个LookAndFeel创建一个按钮,点击按钮可以改变整个应用的视觉风格。
186

被折叠的 条评论
为什么被折叠?



