java – 如何为SWT WPF程序添加主题?
发布时间:2020-12-15 02:32:26 所属栏目:Java 来源:网络整理
导读:我想在我的 java应用程序的 Windows版本上使用WPF.我发现使用SWT很容易做到这一点,它也支持SWT元素的wpf ResourceDictionary XAML( please see this). SWT WPF实施对我来说运作良好,但我无法找到如何将 WPF theme放在上面.一些与org.eclipse.swt.widgets.But
我想在我的
java应用程序的
Windows版本上使用WPF.我发现使用SWT很容易做到这一点,它也支持SWT元素的wpf ResourceDictionary XAML(
please see this). SWT WPF实施对我来说运作良好,但我无法找到如何将
WPF theme放在上面.一些与org.eclipse.swt.widgets.Button相同的SWT小部件都有setData方法,但其中一些像org.eclipse.swt.widgets.Display那样没有那个方法. shell上的setDate方法也不会在整个窗口上设置主题.
那么如何为SWT WPF程序的整个窗口添加主题呢? 这是一个示例代码: import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.MenuItem; public class MainForm { protected Shell shell; public static void main(String[] args) { try { MainForm window = new MainForm(); window.open(); } catch (Exception e) { e.printStackTrace(); } } public void open() { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } protected void createContents() { shell = new Shell(); shell.setData( "ResourceDictionary","ExpressionDark.xaml"); // theme not applied on entire window,just buttons shell.setSize(450,300); shell.setText("Window Title"); Button button = new Button(shell,SWT.FLAT); button.setText("Button"); button.setSize(250,50); button.setBounds(0,50,250,50); Menu menu = new Menu(shell,SWT.BAR); shell.setMenuBar(menu); MenuItem mntmNewSubmenu = new MenuItem(menu,SWT.CASCADE); mntmNewSubmenu.setText("New SubMenu"); Menu menu_1 = new Menu(mntmNewSubmenu); mntmNewSubmenu.setMenu(menu_1); } } 解决方法
SWT WPF is no longer supported.因此最好不要使用.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |