在Swing中改变物质的外观和感觉

时间:2011-01-11 10:04:34

标签: java user-interface swing

每当我用

更改主题时,我都会使用Swance的Substance外观和插件
SubstanceLookAndFeel.setSkin(new BusinessBlackSteelSkin());

或通过:

  UIManager.setLookAndFeel(L);
    frame.setCursor(
            Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
    SwingUtilities.updateComponentTreeUI(twisting_frame);

边框显示GUI上的列表和面板,我试图调用validate(),pack(),repaint(),没有任何作品!主题正在改变,但是ugl边框出现,将会感激任何帮助

2 个答案:

答案 0 :(得分:2)

您不会显示frame的类型,但setCursor()应该有效。作为参考,这是一个工作示例:

import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;

/** @see http://stackoverflow.com/questions/4656395 */
public class CursorTest extends JPanel {

    public CursorTest() {
        this.setPreferredSize(new Dimension(640, 480));
    }

    private void display() {
        JFrame f = new JFrame("CursorTest");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new CursorTest().display();
            }
        });
    }
}

答案 1 :(得分:0)

尝试打开和关闭表单可见性

setVisible(false); 

然后

 setvisible(true);