- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
环境:Win 10 和 Java SDK 12.01(也在 Java 8 上测试)
问题类似于:
SwingUtilities.updateComponentTreeUI() not changing JFrames titlebar
但是在我应用提供的解决方案后,Unix 外观更改仍然无法正常工作(更改为 Unix 外观后标题栏仍然未更新或(在我应用 setUndecorated() 方法后 - 根本不可见)。
我将单选按钮切换到 Windows 皮肤的地方 - 正常工作:
但是当我将单选按钮切换到 Unix 皮肤时 - 除了标题栏之外,所有组件都被刷新得很好 - 它消失了:
Unix skin - issue: title bar not visible
或者,当我删除行时:
notepadWindow.setUndecorated(true);
来自 switch 语句中的 case UNIX,标题栏出现,但不显示 Unix 外观:
Unix skin - title bar visible but from different look and feel
请找到完整的代码(我试图使其尽可能简单,完整的工作代码):
package com.company;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
NotepadWindow notepadWindow = new NotepadWindow();
}
}
class NotepadWindow extends JFrame {
public JTextArea textArea;
public NotepadWindow() {
super("Notepad - no name");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textArea = new JTextArea();
JScrollPane scroll = new JScrollPane(textArea);
getRootPane().add(scroll);
getRootPane().setJMenuBar(NotepadMenu.createMenuBar(this));
setVisible(true);
setSize(650, 550);
}
}
class NotepadMenu {
public static JMenuBar createMenuBar(NotepadWindow notepadWindow) {
ButtonGroup bg = new ButtonGroup();
JMenu skin = new JMenu("Skin");
JRadioButton winSkin = new JRadioButton("Windows Skin", true);
JRadioButton unixSkin = new JRadioButton("Unix Skin", false);
bg.add(winSkin);
bg.add(unixSkin);
winSkin.addActionListener(ie->{
NotepadLookAndFeelManager.setLookAndFeel(NotepadLookAndFeelManager.LookAndFeelTypes.WINDOWS, notepadWindow);
});
unixSkin.addActionListener(ae->{
NotepadLookAndFeelManager.setLookAndFeel(NotepadLookAndFeelManager.LookAndFeelTypes.UNIX, notepadWindow);
});
skin.add(winSkin);
skin.add(unixSkin);
JMenuBar menuBar = new JMenuBar();
menuBar.add(skin);
return menuBar;
}
}
class NotepadLookAndFeelManager {
public enum LookAndFeelTypes {
WINDOWS,
UNIX,
}
static void setLookAndFeel(LookAndFeelTypes lookAndFeelType, NotepadWindow notepadWindow) {
try {
switch (lookAndFeelType) {
case WINDOWS: //SWITCH TO WINDOWS WORKS FINE
notepadWindow.dispose();
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(notepadWindow.getRootPane());
notepadWindow.setUndecorated(false);
notepadWindow.setVisible(true);
break;
case UNIX: //SWITCH DOESN't WORK - TITLE BAR FROM DIFFERENT LAF
notepadWindow.dispose();
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
notepadWindow.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
SwingUtilities.updateComponentTreeUI(notepadWindow.getRootPane());
JFrame.setDefaultLookAndFeelDecorated(true);
notepadWindow.setUndecorated(true);
notepadWindow.setVisible(true);
break;
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
最佳答案
由于没有更好的答案,让我分享我的调查结果。
macOS 不支持 Unix(“motif”)外观,因此 Open JDK 13 已弃用它,并且不再建议使用:
关于java - SwingUtilities.updateComponentTreeUI() 不更改仅适用于 UNIX 皮肤的 JFrames 标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57557162/
LOL赢盛夏礼完成任务抽随机QQ币/皮肤/现金红包等奖励 QQ进入活动 完成下面的任务可以获得积分 使用积分可参与抽奖 也可以使用积分兑换相应的奖励 积分兑换的是不定时补货 抽奖中奖率也高 另外
我想就 Qt 和皮肤向这里的贤者咨询,征求您的意见并为我的发展规划一条道路。我的要求如下: 我的 Qt/C++ 应用程序(Mac、Windows 和 Linux 版本的跨平台)需要具有模块化皮肤。 皮
我正在制作 Shiny 的仪表板,并希望皮肤上的颜色与 Shiny 文档 ( skins available in shiny ) 中可用的颜色不同 我想要 ('#2666cc','rgb(38, 1
我创建了一个 dotnetnuke。我有两个名为 index.ascx 和 index.html 的文件,如您所知,index.ascx 是在解析 DNN 之后创建的。 问题:dotnetnuke解析
我想知道是否有 CKeditor 皮肤的资源?就像可下载皮肤的列表一样。默认的有点无聊。 创建自己的皮肤的文档在哪里? 谢谢! 最佳答案 我对库中提供的皮肤感到满意,但如果您想编辑现有皮肤,您必须只检
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
在过去的几天里,我一直在尝试将 Minecraft 皮肤自动上传到 Mojang 的服务器。我能够成功登录到我的皮肤帐户(并适本地设置 cookie)。在不设置 cookie 的情况下,当我转到 ht
我正在使用 libgdx 制作一个简单的游戏,我想使用 scene2Dui 以及舞台和皮肤来简化我的大量定位/大小调整代码。 为了进一步简化所有内容的定位,我还想定义一个自定义坐标系,以便无论屏幕大小
如果您曾经在 Adobe Creative Suite 5 (CS5) 中看到过某个应用程序,您可能会注意到它看起来不像本地 Windows GUI。他们已经对其进行了修改,使其具有不同的外观。
我的模板有问题,无论出于何种原因,我的面包屑都重叠在我的菜单元素上,如下所示:http://imgur.com/FqVBnvH,XTmUljx,VIgpx4c#2 我试过调整 z-index 但没有成
我必须为 WP 主题创建皮肤,因此我需要将所有具有相似属性(例如“颜色”)的选择器组合在一起。 关于如何使用 Less 创建类似 CSS 皮肤的任何建议?我最终得到了这个解决方案...... h1,
因此,我正在构建的网站上使用 VideoJS 插件。我在这里 implimenting 是这样的: @import url(css/vim.css); 而且 vim 似乎没有覆盖
我正在使用 CSS 构建一个需要可换肤/可品牌化的网站。用技术术语来说,对于每个“品牌”,我在数据库中都有一组五个颜色值。 我想做的是构建CSS文件,让整个站点的配色方案统一,颜色可以重复使用,这样我
我页面上的 RADEditor 继承了母版页的 CSS 属性,因此遵循 this创建自定义皮肤的教程..现在我所做的是...我只是在 Skins 文件夹下复制名为“Default”的文件
为 iOS 应用设置主题/皮肤的最佳做法是什么? 例子: 使用自定义图像作为屏幕背景。 修改 UITableView 表格的外观。 具有自定义外观的按钮。 最好有优秀教程的链接。 最佳答案 您可以创建
我在使用 libgdx 皮肤时遇到问题。 当应用程序暂停或进入后台然后重新打开时,我所有的 scene2d 纹理都显示为黑色。我假设底层纹理需要重新加载。 我正在使用以下代码创建我的皮肤 FileHa
我从 THIS 学到了质疑皮肤、容器和模块是 ASCX 文件,但它们没有得到很好的解释。这些 ASCX 文件有什么区别? 最佳答案 容器是模块的“样式”,但主要只是将它们视为包装器。 模块在您的 DN
皮肤和主题有什么区别? 我看过这篇文章: https://en.wikipedia.org/wiki/Skin_%28computing%29 https://en.wikipedia.org/wik
有人为 Intraweb/VCL for Web 创建了皮肤/主题包装吗? 网格等的默认外观非常过时.. 任何信息表示赞赏。 最佳答案 CSS 是让网页看起来更漂亮的最佳方式。 关于delphi -
我不知道是否只有我这么认为,但我真的很喜欢某些应用程序的 GUI 设计,例如 iTunes/Avast 等应用程序,或 KMPlayer 等一些媒体播放器。所以我正在考虑让我的 GUI 看起来不同,后
我是一名优秀的程序员,十分优秀!