GWT弹出窗口中的多个按钮

时间:2016-04-11 16:46:35

标签: gwt

我正在尝试设置一个带有多个按钮的网页,这些按钮会转到多个弹出窗口。代码是这样的;

import Data.Maybe (mapMaybe)
dropEvery str n = mapMaybe (\(char, indx) -> if indx `mod` n /= 0 then Just(char) else Nothing) (zip str [1..])

此代码仅根据名称"打开"文件。作为PopUp大小的按钮: http://s558.photobucket.com/user/magpiejay/media/button_zpskgbfgwtd.jpg.html

我打算做的是:

  • 按钮尺寸合适。
  • 查看所有按钮,而不仅仅是首先添加的一个小部件。
  • 并且,如果可能的话,找到一种方法来正确居中Popup,因为当前的.center()方法会导致this

2 个答案:

答案 0 :(得分:0)

- 具有适当大小的按钮:
您可以使用setHeight("5px")设置CSS样式中的大小,而不是使用.setStyleName("fileAuthors");设置按钮高度和宽度。只需将width: 50px; and height:20px;添加到您的fileAuthors class 如果您不添加任何大小,按钮将具有根据您在其上设置的文本的大小。

- 查看所有按钮,而不仅仅是第一个添加的小部件:
PopupPanel扩展了SimplePanel,只允许添加一个Widget。 而不是直接将所有按钮添加到PopupPanel首先添加容器,然后添加所有按钮此容器。如果您按照示例中所示执行此操作,则中心方法也应该起作用。此外,您不必将其设置为可见,也不要调用show(),因为所有这些都是在center()方法中完成的。(也许请阅读Javadoc)

示例:

organizeFiles.addClickHandler(new ClickHandler()
        {
            @Override
            public void onClick(ClickEvent event)
            {
                        // create a container
                        FlowPanel container = new FlowPanel();
                        Button filesNames = new Button("Files according to names");
                        Button fileTypes = new Button("Files according to their file types");
                        Button fileAuthors = new Button("Files according to their authors");
                        Button fileAlbums = new Button("Files according to their albums");
                        filesNames.setStyleName("filesNames");
                        filesNames.setSize("50px", "20px");
                        fileTypes.setStyleName("fileTypes");
                        fileTypes.setSize("50px", "20px");
                        fileAuthors.setStyleName("fileAuthors");
                        fileAuthors.setSize("50px", "20px");
                        fileAlbums.setStyleName("fileAlbums");
                        fileAlbums.setSize("50px", "20px");

                        jal2.addStyleName("popup");
                        jal2.setSize("400px", "400px");

                        container.add(filesNames);
                        container.add(fileTypes);
                        container.add(fileAuthors);
                        container.add(fileAlbums);
                        //set only the widget into the popuppanel
                        jal2.setWidget(container);
                        jal2.center();

            }
        })
        ;

答案 1 :(得分:0)

问题已解决。它发生了,因为我没有为所有弹出窗口添加不同的样式名称,并将这些样式名称添加到CSS。 http://s558.photobucket.com/user/magpiejay/media/Balksz4_zpsestll7fs.jpg.html