我在TabLayoutPanel中传递了一个按钮,当单击按钮时,GWT中没有发生任何事情
我在TabLayoutPanel中添加了一个按钮,点击按钮我想显示一些东西,但什么也没有发生 下面是我正在尝试的示例代码:我在TabLayoutPanel中传递了一个按钮,当单击按钮时,GWT中没有发生任何事情,gwt,Gwt,我在TabLayoutPanel中添加了一个按钮,点击按钮我想显示一些东西,但什么也没有发生 下面是我正在尝试的示例代码: public void onModuleLoad() { final TabLayoutPanel tabPanel = new TabLayoutPanel(2.5, Unit.EM); final Button sendButton = new Button("Send"); final TextBox nameField = new Text
public void onModuleLoad() {
final TabLayoutPanel tabPanel = new TabLayoutPanel(2.5, Unit.EM);
final Button sendButton = new Button("Send");
final TextBox nameField = new TextBox();
//Tab
sendButton.addStyleName("sendButton");
nameField.getElement().setId("PID");
sendButton.getElement().setId("sendButton");
String row = searchAnyTransaction(sendButton, nameField);
tabPanel.add(new HTML(row), "Transaaction Status");
tabPanel.add(new HTML("that"), "[that]");
tabPanel.add(new HTML("the other"), "[the other]");
tabPanel.setPixelSize(500, 400);
final RootLayoutPanel rp = RootLayoutPanel.get();
rp.add(tabPanel);
nameField.setFocus(true);
nameField.selectAll();
//On sendButton click , Clickhandler event should call.
// Create a handler for the sendButton and nameField
sendButton.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
rp.add(sendButton);
//how to add dialog box to display
// Want to display something.
}
});
}
public static String searchAnyTransaction(Button sendbutton, TextBox namefield2){
String htmlForm = ""
+ "<TABLE BORDER=\"2\" ><TR><TH height=\"40\" style=\"width:20%;\"><h3 class=“Search” role=\"tab\" aria-expanded=\"true\" aria-selected=\"true\" tabindex=\"0\">Search</h3></TH>"
+ "<TH height=\"40\" style=\"width:20%;\"><label for=\"fname\">PID:</label></TH><TD height=\"40\" style=\"width:50%;\">" + namefield2
+ "<TD height=\"40\" style=\"width:20%;\">"+ sendbutton +"</TD></TR>"
+ "</TABLE>";
return htmlForm;
}
模块加载()上的公共void{
最终TabLayoutPanel tabPanel=新TabLayoutPanel(2.5,单位为EM);
最终按钮sendButton=新按钮(“发送”);
最终文本框名称字段=新文本框();
//标签
sendButton.addStyleName(“sendButton”);
nameField.getElement().setId(“PID”);
sendButton.getElement().setId(“sendButton”);
String行=searchAnyTransaction(sendButton,nameField);
tabPanel.add(新的HTML(行),“操作状态”);
添加(新的HTML(“那个”),“[那个]”);
tabPanel.add(新的HTML(“另一方”),“[另一方]”;
tabPanel.setPixelSize(500400);
final RootLayoutPanel rp=RootLayoutPanel.get();
rp.add(tabPanel);
nameField.setFocus(true);
nameField.selectAll();
//单击sendButton时,Clickhandler事件应调用。
//为sendButton和nameField创建处理程序
addClickHandler(新的ClickHandler(){
@凌驾
公共作废一次点击(点击事件){
rp.add(发送按钮);
//如何添加要显示的对话框
//我想展示一些东西。
}
});
}
公共静态字符串searchAnyTransaction(按钮sendbutton,文本框名称字段2){
字符串htmlForm=“”
+“搜索”
+“PID:”+namefield2
+“”+sendbutton+“”
+ "";
返回htmlForm;
}
所以我想在点击按钮时显示一些东西。请帮助我。不要将表单构建为字符串 当您尝试用字符串连接小部件(
按钮
或文本框
)时,将调用小部件的toString()
方法
"string" + sendbutton + "string"
事实上:
"string" + sendbutton.toString() + "string"
toString()
返回小部件的html片段,但它不包含任何处理程序。这就是为什么永远不会执行ClickHandler
相反,您应该使用一些面板构建表单,如或
例如:
public static Grid searchAnyTransaction(Button sendbutton, TextBox namefield2){
Grid grid = new Grid(1, 4);
grid.setText(0, 0, "Search");
grid.setText(0, 1, "PID:");
grid.setWidget(0, 2, namefield2);
grid.setWidget(0, 3, sendbutton);
return grid;
}
并将其添加到选项卡面板,如下所示:
tabPanel.add(searchAnyTransaction(sendButton, nameField), "Transaaction Status");
不要将表单构建为字符串 当您尝试用字符串连接小部件(
按钮
或文本框
)时,将调用小部件的toString()
方法
"string" + sendbutton + "string"
事实上:
"string" + sendbutton.toString() + "string"
toString()
返回小部件的html片段,但它不包含任何处理程序。这就是为什么永远不会执行ClickHandler
相反,您应该使用一些面板构建表单,如或
例如:
public static Grid searchAnyTransaction(Button sendbutton, TextBox namefield2){
Grid grid = new Grid(1, 4);
grid.setText(0, 0, "Search");
grid.setText(0, 1, "PID:");
grid.setWidget(0, 2, namefield2);
grid.setWidget(0, 3, sendbutton);
return grid;
}
并将其添加到选项卡面板,如下所示:
tabPanel.add(searchAnyTransaction(sendButton, nameField), "Transaaction Status");