Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过单击CellTable中的单元格打开弹出面板?_Java_Gwt_Gwt2_Gwt 2.2 Celltable_Popuppanel - Fatal编程技术网

Java 如何通过单击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

我有一个CellTable,如下所示-

单击“删除”按钮后,我想在屏幕中央打开一个弹出面板,其中应包含一个流程面板和一个按钮。
现在对于删除按钮,我有以下功能-

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(对象);
}
}
}"命令";;
请尝试一下,并让我知道结果。我刚刚写了,还没有测试:|