标签: look-and-feel

获取 TableCellEditor 颜色以匹配外观和感觉

所以我有自定义的 CellEditors 和 CellRenderers,尽管我正在做

component.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground());
component.setBackground(isSelected ? table.getSelectionBackground() : table.getBackground());
component.setOpaque(true);
Run Code Online (Sandbox Code Playgroud)

在我的 getTableCellRendererCompoent 中,颜色仅与其他每一行匹配,因为我尝试过的大多数外观和感觉似乎都在交替它们。如何以与表的其余部分相匹配的方式提取颜色值?我也非常希望能够制作漂亮的边框来匹配来自 DefaultTableCellRenderer 的渲染器。

我试图剖析 DefaultTableCellRenderer,但在试图追踪这个 UI 对象时迷失了方向。我是否只需要从 UIManager 中提取正确的属性?正确方向的引导将不胜感激。

谢谢大家,这个网站很棒。约书亚

java swing jtable colors look-and-feel

2
推荐指数
1
解决办法
3124
查看次数

无限文档的滚动条?

是否有标准的Aqua方式来处理几乎无限的文档?

例如,想象一下基于图块的游戏的关卡编辑器.该级别没有预设大小(虽然它在技术上受到NSInteger大小的限制); 瓷砖可放置在网格上的任何位置.是否有滚动浏览此类文档的标准界面?

我不能简单地将滚动限制为已经具有切片的区域,因为用户需要能够在该边界之外添加切片.任意创建一个级别大小,即使它很容易被用户改变,也不是理想的.

有没有人见过处理这个问题的应用程序?

macos cocoa scroll interface look-and-feel

2
推荐指数
1
解决办法
246
查看次数

Java:具有自定义形状的JButton:填充金属外观和感觉渐变

我有一个新的派生类,JButton它给了我一个Enter-Button的形状.

现在我想让它填充与默认相同的渐变JButton.但是我不知道.我怎么能这样做?

此刻它充满了纯黑色.

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Polygon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class EnterButton extends JButton {

    private Polygon shape;

    public EnterButton() {
        this.shape = new Polygon();
        // initialisiere Form
        this.initialize();
    }

    protected void initialize() {
        Point p1, p2, p3, p4, p5, p6;

        this.setSize(90, 120);

        p1 = new Point(0, 0);
        p2 = new Point(0, 60);
        p3 = new Point(30, 60);
        p4 = new Point(30, 120);
        p5 = new Point(90, 120); …
Run Code Online (Sandbox Code Playgroud)

java swing look-and-feel jbutton

2
推荐指数
1
解决办法
5023
查看次数

NetBeans:如何更改操作系统的外观

我使用Java在Netbeans中开发了一个小型桌面应用程序.该应用程序正在按预期工作.我是在WIN7下开发的.

当我在Microsoft Windows上运行它时,UI的外观与Win XP Metal主题类似,当我在MAC上运行它时,它显示了我相同的主题.我想改变操作系统的主题.现在主题是适合Windows我正在寻找MAC的解决方案.

java user-interface swing netbeans look-and-feel

2
推荐指数
2
解决办法
2118
查看次数

自定义单元格编辑器无法容纳 Nimbus 外观和感觉中的文本

我想验证表格单元格中的用户输入,并且我使用 Nimbus 外观和感觉。以下是验证整数输入的单元格编辑器的代码:WholeNumberField 它扩展JTextField并添加了输入验证。

当我为列设置它时,它工作正常,但无法容纳文本:

文字剪切

当我使用默认单元格编辑器时,一切看起来都很好:

正常的样子

这个编辑器如何看起来像默认编辑器?

java swing jtable look-and-feel tablecelleditor

2
推荐指数
2
解决办法
739
查看次数

实时更改Swing GUI默认外观

在显示GUI之前,如果我有这样的代码块:

  try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("GTK+".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
       } catch (Exception ex) {}   
Run Code Online (Sandbox Code Playgroud)

例如,我在ubunut中使用主题GTK +.可以使用其他选项,如Nimbus等.现在,一旦我启动应用程序,它就会加载并显示此主题.但无论如何我可以实时改变主题.因为如果我改变它,我必须关闭GUI并用新主题再次加载它?

java swing look-and-feel

2
推荐指数
1
解决办法
1914
查看次数

Swing GUI在尝试实时更改GUI时抛出异常

所以我有一个swing GUI,我根据另一个GUI类的一些输入改变它的默认外观和感觉,使用类似这样的东西:

javax.swing.UIManager.setLookAndFeel("newlook&feel");
SwingUtilities.updateComponentTreeUI(this);
pack();
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是在控制台上我看到每次调用这个异常时会抛出如下消息:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

它指的是来自内部Java类的类的行号.这可能是什么问题,或者我错过了什么.

只是一点,在这种情况下SwingUtilities.isEventDispatchThread()返回false.

java swing look-and-feel

2
推荐指数
1
解决办法
767
查看次数

使用带有GUI的Netbeans进行编程

有没有办法在Netbeans预览设计屏幕中显示程序:

previewGUI

而不是默认运行程序GUI:

在此输入图像描述

java user-interface swing netbeans look-and-feel

2
推荐指数
1
解决办法
890
查看次数

如何更改JDesktopPane的外观?

我将项目的LAF设置为System默认外观.现在我正在尝试将JDesktopPane放在我的一个面板中,但我希望所有内部框架都使用java默认的LAF.有没有办法在不改变整个项目的LAF的情况下改变它?

java user-interface swing look-and-feel jdesktoppane

2
推荐指数
1
解决办法
3468
查看次数

SwingUtilities.updateComponentTreeUI() 方法是否将当前 L&F 设置为所有超级组件和子组件?

背景:

从文档中可以看出,该方法SwingUtilities.updateComponentTreeUI()要求树(什么树?)中的每个组件调用该方法来更新自己的UI 属性updateUI()SwingUtilities.updateComponentTreeUI()强烈建议在我们设置LAF之后调用,调用方法:UIManager.setLookAndFeel(LAFClassName),否则LAF主题无法应用于某些组件,最糟糕的是,某些组件无法重新设计(并且可能会抛出一些异常?)。

我对这类事情很陌生,在发现更具启发性的方法SwingUtilities.updateComponentTreeUI() UIManager.setLookAndFeel(LAFClassName)我发现了该方法。

在发现之前SwingUtilities.updateComponentTreeUI()我一直遇到一些问题/Exceptions/NullPointerExceptions,事实是我真的不明白它们的原因,直到我没有发现该SwingUtilities.updateComponentTreeUI()方法,这让我明白树中的某些组件不能被更新为新的 LAF。

具体/实际问题:

例如,如果我有一个

子框架

(动态实例化或由 ActionEvent(单击)触发)

主框架

),我在其中设置外观属性,然后调用SwingUtilitiesupdateComponentTreeUI()传递给它的引用mainJFrame

SwingUtilities.updateComponentTreeUI(mainJFrame),

最后一个是否会更新其所有子组件/subJFrames(从而更新subJFrame我设置 LAF 的位置)?

这不是一个微不足道的问题(还要记住文档所说的内容),因为我调用UIManager.setLookAndFeel(LAFClassName)中的方法subJFrame(这个调用实际上做了什么?),然后我调用SwingUtilities.updateComponentTreeUI()方法传递给它一个对 的引用mainJFrame,那么什么是LAF 主题将应用于mainJFrame?的所有子组件 如果某些子组件/subJFrame尚未初始化

java swing look-and-feel swingutilities

2
推荐指数
1
解决办法
5928
查看次数