问题标签 [look-and-feel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 中设置 LookAndFeel 文件?
我需要在 JDK 1.6 中设置 LookAndFeel 文件。我有两个文件:
餐巾纸-swingset2.jar
餐巾纸.jar
我该如何设置和使用它?
我想要 GTK 外观或 Qt 外观,它们可用吗?
user-interface - 如何使控件/元素随惯性移动?
现代 UI 开始在移动时赋予其 UI 元素很好的惯性。选项卡滑入、页面转换,甚至一些列表框和滚动元素对它们都有很好的惯性(例如 iphone)。什么是最好的算法?当它们加速时,不仅仅是重力,然后在它们落位时减速。我尝试了各种公式来加速到最大(终端)速度然后放慢速度,但我没有尝试过“感觉”正确。总感觉有点不对劲。是否有一个标准,或者只是玩各种数字直到它看起来/感觉正确?
java - 如何在 KDE 上的 Java 中强制/使用 GTKLookAndFeel?
首先,使用 gnome 不是一个选项(但可以安装它的库)。
我需要知道使用当前安装的 KDE 外观显示 Java Swing 桌面应用程序需要什么。理想情况下,该解决方案应该允许我应用类似于底层窗口系统的外观(即:Windows LNF 用于 Windows,GTK LNF 用于 Gnome(GTK),QT LNF 用于 KDE(QT),其他平台的默认设置)。
在 KDE 下,您也可以将其配置为使用 GTK 应用程序的当前 KDE 主题。因此,如果该解决方案适用于 GTK,那就没问题了。
当我在 Gnome (Ubuntu 8.04) 下运行以下代码时,Java 应用程序看起来很漂亮。它与其他应用程序集成得非常好:
但是,如果我在 Debian (Lenny) 下使用 KDE 运行相同的东西,则 UIManager.getSystemLookAndFeelClassName() 调用将返回 Java 默认值。如果我继续强制它使用 GTK LNF,应用程序将无法运行。有些字段是不可见的,有些是不合适的,一切都无法使用:
我也试过把下面的代码。它让用户选择任何一个可用的 LNF,然后尝试设置它。金属和主题工作正常。GTK 没有。滑块真的很乱。列表框看起来很难看并且消失了,但似乎可以工作。按钮和菜单看起来不错。相关代码如下所示:
该系统的所有 GTK 应用程序(例如:Firefox)都按预期工作。所以:
1) 在 KDE 下运行 Java GTK LNF 应用程序的环境缺少什么?
2) JVM 检查什么以返回 GTK 作为默认系统主题?
谢谢你帮助路易斯费尔南多
PS->我也尝试过其他解决方案,例如 JGoodies、plain AWT 和 SWT。然而,使用 GTK LNF 的 Swing 将是避免 SWT 本机库和 JGoodies 额外 jar 的麻烦的最佳解决方案(此外,JGoodies LNF 看起来不像 Gnome 下的 Swing GTK 那样集成)。AWT 看起来很丑陋(类似主题)并且缺少很多功能。
java - NetBeans 6.5 上的强制外观
您如何看待 NetBeans 6.5 的特定外观?我的意思是通过将标志传递给 netbeans 脚本(在 Ubuntu 上)或通过修改 netbeans 脚本或通过一些设置。
java - Java L&F 自定义:如何使用 synth 自定义 BorderFactory 边框?
具体来说,我目前有一个带有 TitledBorder 的 JPanel。我想自定义边框的外观。在我的应用程序的当前状态下,绘制的是标题,而不是线条边框本身。
如果我将 imagePainter 绑定到 Panel 对象的 panelBorder 方法,我可以在面板周围放置一个自定义图像——但是它只显示在那些我没有在代码中明确设置边框的面板上。这是该代码的样子:
我该如何做相反的事情——也就是说,让这个自定义图像只显示在我应用了 TitledBorder 的面板上?
我也尝试过使用命名面板:
和名称绑定:
这使我可以仅更改特定面板的样式,这很好。但是,它并没有解决原来的问题:我仍然无法自定义面板的 NamedBorder。
如果我指定 NamedBorder,我的 PanelBorder 画家将被忽略,只打印名称。如果我拿走我的 NamedBorder,我可以使用我的自定义边框图形,但是我必须戳我的布局以在标题之前所在的同一位置获得一个 JLabel,这是不可取的。
进一步的研究发现,没有渲染线的原因是 TitledBorder 的构造函数接受了另一个 Border 的参数,除了标题之外它还渲染了该参数。我没有传递这个参数,默认值取决于您选择的 L&F。当我使用系统 L&F 时,默认是 LineBorder。显然 Synth 的默认值是 EmptyBorder。显式指定 LineBorder 可以让我返回线,这解决了我的大部分问题。
我剩下的问题涉及为 LineBorder 使用自定义图形。现在,我通过将我的自定义图形渲染为第二个 PanelBackground 图像来获得——它被合成在实际背景之上并实现了所需的视觉效果,尽管它不是理想的实现。
java - 如何动态更改 Java LAF UIDefaults?
我正在通过动态更改 UIDefaults 来定制 Swing 应用程序。最终目标是更改其中的许多(颜色、字体、大小、边框等)并保存每个用户的结果。虽然它可能会给应用程序一些非标准的外观,但客户要求并且客户应该收到。
我遇到的唯一问题是 GUI 只会更新一次。我第一次更改 ui 属性时一切都很好,随后的更改不会影响任何事情。
它工作一次,但再也不会。想法?
java - Java Swing GUI 主题
是否可以为 Swing 开发自定义 PLAF 主题?我将不胜感激这个主题的建设性建议谢谢
css - 如何修改 Sharepoint 网站的外观?
我不知何故在工作中部署了 SharePoint。我讨厌它,即使是最简单的事情也似乎是不必要的困难。
我已经看到一些资源分散在各处,但它们似乎都无法帮助我真正控制 css。
有人可以指出我正确的方向吗?
编辑
- 我不害怕 CSS 本身,我只是似乎找不到合适的地方来编辑它。
- 我有 SharePoint Designer 2007
java - 在不修改应用程序的情况下更改 Java 外观
是否可以在不修改实际环境中的程序的情况下更改 Java 外观?
我知道理论上答案是肯定的。我还创建了演示应用程序,并在运行时更改了外观和感觉,并且效果很好。但是当我创建一个带有很多控件的真实应用程序时,外观变化并没有真正起作用:
- 不同的外观有不同的错误(或奇怪的功能)。例如,其中一些为 JTextField 和 JFormattedTextField 创建相同的样式,其中一些使用不同的样式。这种变化对用户来说可能很烦人。
- 控件大小不一样(使用不同的字体,不同的边框),所以有时候改变后的窗口看起来很难看。
- 键盘快捷键也可以不同。
- ...
在外观更改后的应用程序中(实际上,我尝试使用具有不同皮肤的相同外观而不是更改外观)我总是必须修改应用程序。不是很大的修改,但是很多小的修改使得外观和感觉的改变变得困难。
我只是对我尝试的外观(目前使用skinlf)非常不走运,还是外观变化不像小型演示应用程序那样容易?
更新:我正在使用 Swing 并且现在无法更改为其他 GUI 库。
UPDATE2:在我看来,这个问题并不清楚。我确实知道如何改变外观。我的问题是:是否有可能创建一个真正的应用程序,其中更改外观(或外观的皮肤)是一件容易的事?目前,如果我更改外观,仅更改 2 或 3 行是不够的,我必须审查整个应用程序并修复相当多由外观更改引起的问题。dhiller 建议用更好的外观替换 skinlf。你能告诉我皮肤替换效果更好的可换肤外观吗?
java - Java/Swing 是否有任何(真正的)Office 2007 外观和感觉?
我知道 Substance 的外观和感觉,并且它们具有类似于 Office 2007 的外观和感觉。但是这种外观和感觉根本不像 Office 2007 的设计,例如颜色有很大不同。
还有其他更准确地模仿 Office 2007 的外观和感觉吗?