Java 如何通过单击CellTable中的单元格打开弹出面板?
我有一个CellTable,如下所示- 单击“删除”按钮后,我想在屏幕中央打开一个弹出面板,其中应包含一个流程面板和一个按钮。Java 如何通过单击CellTable中的单元格打开弹出面板?,java,gwt,gwt2,gwt-2.2-celltable,popuppanel,Java,Gwt,Gwt2,Gwt 2.2 Celltable,Popuppanel,我有一个CellTable,如下所示- 单击“删除”按钮后,我想在屏幕中央打开一个弹出面板,其中应包含一个流程面板和一个按钮。 现在对于删除按钮,我有以下功能- deleteColumn.setFieldUpdater(new FieldUpdater<Contact, String>() { public void update(int index, Contact object, String value) { try
现在对于删除按钮,我有以下功能-
deleteColumn.setFieldUpdater(new FieldUpdater<Contact, String>() {
public void update(int index, Contact object, String value) {
try {
int removeIndex = CONTACTS.indexOf(object);
CONTACTS.remove(removeIndex);
table.setRowCount(CONTACTS.size(), true);
table.setRowData(CONTACTS);
table.redraw();
} catch(Exception e) {
e.printStackTrace();
}});
deleteColumn.setFieldUpdater(新的FieldUpdater(){
公共无效更新(int索引、联系人对象、字符串值){
试一试{
int removeIndex=CONTACTS.indexOf(对象);
触点。移除(移除)触点;
table.setRowCount(CONTACTS.size(),true);
表.setRowData(联系人);
表1.redraw();
}捕获(例外e){
e、 printStackTrace();
}});
我不知道如何更新我的函数。一个示例代码肯定会有帮助。只显示一个
popupanel
怎么样
大概是这样的:
PopupPanel popup = new PopupPanel(true);
FlowPanel panel = new FlowPanel();
//add Button etc
popup.setSize("1100px","500px");
popup.clear();
popup.add(panel);
popup.show();
popup.center();
如果要显示确认对话框,则此代码更容易:
if (Window.confirm("Do you really want to delete the dataset?"))
{
//delete code
}
像这样的
ButtonCell buttonCell = new ButtonCell(){
@Override
public Set<String> getConsumedEvents() {
// TODO Auto-generated method stub
//return super.getConsumedEvents();
Set<String> events = new HashSet<String>();
events.add("click");
return events;
}
};
productTable.addColumn(new Column<ProductDetails, String>(buttonCell) {
@Override
public String getValue(ProductDetails object) {
// TODO Auto-generated method stub
return "Edit";
}
@Override
public void onBrowserEvent(Context context, Element elem,
ProductDetails object, NativeEvent event) {
// TODO Auto-generated method stub
super.onBrowserEvent(context, elem, object, event);
if("click".equals(event.getType())){
presenter.onEditButtonClicked(object);
}
}
}, "Commands");
ButtonCell-ButtonCell=new-ButtonCell(){
@凌驾
公共集getConsumedEvents(){
//TODO自动生成的方法存根
//返回super.getConsumedEvents();
Set events=new HashSet();
事件。添加(“单击”);
返回事件;
}
};
productTable.addColumn(新列(buttonCell){
@凌驾
公共字符串getValue(ProductDetails对象){
//TODO自动生成的方法存根
返回“编辑”;
}
@凌驾
public void onBrowserEvent(上下文、元素元素、,
ProductDetails对象,NativeEvent事件){
//TODO自动生成的方法存根
onBrowserEvent(上下文、元素、对象、事件);
如果(“单击“.equals(event.getType())){
presenter.onEditButtonClicked(对象);
}
}
}"命令";;
请尝试一下,并让我知道结果。我刚刚写了,还没有测试:|