gpt4 book ai didi

java - addStyleName() 的共同属性表达在 setStyleName() 甚至 setStylePrimaryName() 之上!

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:55 25 4
gpt4 key购买 nike

我是 GWT 的新手,正在通过在 Eclipse 中运行的一些示例来学习它。在其中一个按钮程序中,我添加了 setStyleName(class)(也使用 setStylePrimaryName() 检查)并使用 addStyleName(class) 添加了另一种样式。

我期望的是按钮应该显示使用 setStyleName()/setStylePrimaryname 设置的 css 类属性,因为这将是 primaryStylename。

但令我惊讶的是,如果我使用 addStyleName() 向按钮添加另一种样式,尽管该样式是它的 secondaryStyleName,但它会成为按钮的样式!在这种情况下,为了表达主要样式名称,我必须使用 addStyleDependentName() 添加次要样式名称。

我的代码设置样式如下。

final Button sendButton=new Button("Send");
final TextBox nameField=new TextBox();

sendButton.setStylePrimaryName("newButton");
sendButton.addStyleName("secondButton");

在css文件中

 .newButton{
display:block;
font-size: 16pt;
color: black;
background-color: maroon;
}
.secondButton{
color:blue;
margin: 15px 10px 10px;
background-color: olive;

}

除了添加为 addStyleDependentName("secondButton") 和

的情况外,该按钮始终采用橄榄色背景色

情况 2:同时使用 addStyleName("secondButton"),然后使用 setStyleName("newButton")(因为 setStyleName() 将删除现有的辅助样式)。我还使用 getStylePrimaryName()getStyleName() 检查了主要样式名称和其他样式的值。

getStylePrimaryName() 给出“newButton”,而 getStyleName() 给出 newButton、secondButton....那么即使有一个主要样式名称,为什么它总是显示通过 addStyleName() 添加的次要样式属性(这里是 secondButton)?

*请注意:我已经在如下文本框上进行了尝试,它按预期表达了主要样式下提到的颜色*

final TextBox nameField=new TextBox();
nameField.setText("---Enter Name Here---");
nameField.setStylePrimaryName("textStyle");
nameField.addStyleName("myText");
nameField.addStyleName("bigText");

CSS如下

.myText{
color:blue;
}

.bigText{
font-size: large;
}
.textStyle{
color:maroon;
text-shadow: aqua;

}

注意到的一件事是,除非我们不将次要样式添加为 addStyleDependentName(),否则属性将按照类名在 CSS 中出现的顺序显示...也就是说,如果主要样式名称定义出现在次要样式之后显示主要的,否则显示次要的...可以注意到不同之处在于更改 CSS 中定义类的顺序所以在我的按钮属性中,当我将顺序更改为

.secondButton{
color:blue;
margin: 15px 10px 10px;
background-color: olive;

}

.newButton{
display:block;
font-size: 16pt;
color: black;
background-color: maroon;
}

按钮颜色变成栗色。如果将次要样式添加为 addStyleDependentName(),则无论 CSS 中的顺序如何,都会表达主要样式

最佳答案

根据文档:

Adds a secondary or dependent style name to this object. 

设置setStyleName()setStylePrimaryName()addStyleName()将添加另一个 style,您通过 argument

传递了它

关于java - addStyleName() 的共同属性表达在 setStyleName() 甚至 setStylePrimaryName() 之上!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15223128/

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