gpt4 book ai didi

java - 在 GWT 中,如何使用 or ClientBundle 覆盖 DisclosurePanel 的 CSS

转载 作者:行者123 更新时间:2023-11-28 11:17:43 24 4
gpt4 key购买 nike

我有一个扩展 Composite 的类,并在关联的 UiBinder 文件的顶层包含一个 DisclosurePanel。

在 DisclosurePanel 中,HTML 如下所示:

<table class="gwt-DisclosurePanel gwt-DisclosurePanel-closed>
<tr>
<td>
<a href="javascript:void(0);" style="display: block;" class="header">
<div class=""> <!-- an HTMLPanel I've shoved in to a <gwt:customHeader> block -->
...
</div>
</a>
...

在我的 UiBinder 文件中,我可以使用 addStyleNames="{style.???}"并设置一些样式,比如我可以设置 DisclosurePanel 本身的样式,我可以设置 HTMLPanel 中的样式,但我不能设置

<a>

除了这样做:

disclosurePanel.getHeader().getParent().getElement().getStyle().setTextDecoration(TextDecoration.NONE);
disclosurePanel.getHeader().getParent().getElement().getStyle().setColor("black");

在代码中,但这很丑陋,样式现在在两个地方,代码和 UiBinder 文件。

我这样做的原因是摆脱默认情况下的下划线和蓝色。另一种选择是做这样的事情:

.gwt-DisclosurePanel a {
text-decoration: none;
text: black;
}

但随后我需要从我的主页 (Client.html) 引用该 CSS 文件或从 gwt.xml 文件引用该 CSS 文件,但这两种处理方式均已弃用。

我该如何以更好的方式做到这一点,或者这是不可能的?

最佳答案

Hmmm...will ensureInjected() do what I want? Can I just define a CssResource and a ClientBundle that references that CssResource and then call ensureInjected on the CssResource and it will inject all the CSS, even if I haven't referenced all the methods on my CssResource sub-interface?

是和否 - 你必须 disable CSS obfuscation ( <set-configuration-property name="CssResource.style" value="pretty" /> - 警告,这是全局性的,所以可能不是你想要的)为了让它工作。但是,如果您仅从 UiBinder 模板中引用这些类名,那么您应该没问题:

<!-- Insert usual UiBinder stuff here -->
<ui:with field='res' type='com.example.client.resource.SomeCoolBundle'/>
<!-- SomeCoolBundle has a CssResource defined and available via style() -->

<div class='{res.style.lbox}'></div>

请记住将 GWT 类标记为 @external 在您的 CSS 文件中,否则您将无法覆盖它们(因为它们会被混淆):

@external .gwt-TextBox, .gwt-PasswordTextBox, .gwt-Button, .gwt-CheckBox;

如果这不符合您的需要(或者过于繁琐),请务必使用那些“已弃用”(并非真正)的方法之一。

关于java - 在 GWT 中,如何使用 <ui :style> or ClientBundle 覆盖 DisclosurePanel 的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com