GWT изменяемого размера DialogBox - PullRequest
3 голосов
/ 14 сентября 2011

Насколько я понимаю, DialogBox по умолчанию не может быть изменен (даже не реализован) в GWT.Под изменяемым размером я подразумеваю нажатие на край DialogBox и перетаскивание его больше.Я видел некоторые настраиваемые панели с изменяемыми размерами в Интернете, но не DialogBox.У меня есть несколько идей о том, как сделать DialogBox с изменяемыми размерами, просто не хочу заново изобретать weel.Может быть, кто-то знает реализацию изменяемого размера DialogBox и может связать меня с исходным кодом?

Ответы [ 2 ]

1 голос
/ 29 декабря 2012

Я сделал что-то вроде этого, он просто добавляет красное поле в нижний правый угол, затем вы можете добавить обработчики мыши в это красное поле для изменения размера.

public class ThumbnailDialog extends DialogBox {

  private FocusPanel tab = new FocusPanel();

  public ThumbnailDialog() {
    super(false, false);    
    tab.setPixelSize(4, 4);
    tab.getElement().getStyle().setBackgroundColor("red");
    tab.getElement().getStyle().setPosition(Style.Position.ABSOLUTE);
    tab.getElement().getStyle().setRight(0, Style.Unit.PX);
    tab.getElement().getStyle().setBottom(0, Style.Unit.PX);

    Element tabElement = getCellElement(2, 2);
    tabElement.getStyle().setOverflow(Style.Overflow.VISIBLE);
    tabElement.appendChild(tab.getElement());
  }
}
0 голосов
/ 16 сентября 2011

ОК, после некоторых исследований я пришел к выводу, что из-за построения DialogBox это невозможно сделать. По крайней мере, это не может быть сделано без потери поведения DialogBox по умолчанию. Все события мыши должны быть переопределены. Если я переопределю все события, я могу потерять поведение по умолчанию на случай, если Google что-то изменит в будущем. Заголовок DialogBox не сделан отдельно от DialogBox. Во всех событиях мыши DialogBox проверяет, является ли отправитель Caption, а если нет, глотает событие мыши. Таким образом, DialogBox перемещается по экрану.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...