2

再会,

我最近遇到了 java 的 mac_widgets api。我经历了文档和示例,但我没有找到将小部件添加到 HudWindow 的方法。我遇到了一个在线解决方案

panel.setLayout(new BoxLayout?(panel, BoxLayout?.Y_AXIS)); panel.add(sourceList.getComponent());

如果面板是对 JPanel 对象的引用并且它被添加到 JFrame 窗口,则此方法有效。

有没有办法可以在 mac_widgets api 中将面板添加到 HudWindow?

4

1 回答 1

0

试试下面的代码,当然你不会得到透明度。但这是您将面板添加到 HUD 窗口的方式。尝试提取 MacWiget.jar 文件以查看其他类。组件具有不同的名称,在这种情况下,面板称为 ActivePanel。

import javax.swing.JButton;

import com.explodingpixels.macwidgets.ActivePanel;
import com.explodingpixels.macwidgets.HudWidgetFactory;
import com.explodingpixels.macwidgets.HudWindow;

public class MacWidgetTest {


    public static void main(String[] args) {
        setGUI();   
    }

    public static void setGUI() {
        System.out.println("Starting GUI");
        HudWindow hud = new HudWindow("Window");
        hud.getJDialog().setSize(300, 350);
        hud.getJDialog().setLocationRelativeTo(null);
        ActivePanel panel = new ActivePanel();
        JButton button = HudWidgetFactory.createHudButton("Button");
        panel.add(button);
        hud.setContentPane(panel);
        hud.getJDialog().setVisible(true);
    }

}
于 2014-08-27T19:50:37.007 回答