Alguém já conseguiu centralizar um DialogBox do GWT? Tem aquela famosa:
myBox.setPopupPosition(
(Window.clientWidth() - myBox.getOffsetWidth())/2,
(Window.clientHeight() - myBox.getOffsetHeight())/2
);
Mas assim o dialog fica mais pra direita e mais pra baixo… na verdade a ponta superior esquerda do dialog é que fica bem no centro…
[quote=andre_guitar7]Alguém já conseguiu centralizar um DialogBox do GWT? Tem aquela famosa:
myBox.setPopupPosition(
(Window.clientWidth() - myBox.getOffsetWidth())/2,
(Window.clientHeight() - myBox.getOffsetHeight())/2
);
Mas assim o dialog fica mais pra direita e mais pra baixo… na verdade a ponta superior esquerda do dialog é que fica bem no centro…[/quote]
tenta o center();
no caso: dialogBox.center();
Pessoa, estou com outro problema.
Estou usando o DialogBox e na hora de exibir aparece todo zoado. Estou usando o Eclipse com o plugin do GWT.
Alguém tem alguma idéia do que pode ser?
Descobri que não dá pra setar largura e altura. Ele zoa tudo.
Nobre amigo, acho que sei o seu problema… Você não deve ta setando um título no DialogBox…
Faz assim:
DialogBox dialogBox = new DialogBox();
dialogBox.setText("DialogBox Teste");
Daí, vc não seta um tamanho diretamente no DialogBox, pois não precisa…
Você cria um Painel qualquer, no meu caso aqui eu trabalho com um ScrollPanel, seta um tamanho pra ele e insere no DialogBox…
dialogBox.setWidget(scrollPanel_que_vc_criou);
Dessa maneira ele vai funcionar corretamente!
[]'s
Oi pessoal eu estou tendo dificuldades em trocar a cor da fonte do título do meu painel. Alguém saberia como me ajuda.
package com.apress.beginninggwt.gwtasks.client.ui.mainpane.categorypane;
import com.apress.beginninggwt.gwtasks.client.manager.data.DataManager;
@SuppressWarnings("deprecation")
public class CategoryFormDialogBox extends DialogBox {
private final static String ERROR_IMAGE_URL = "image/field-error.gif";
private final TextBox nameField;
private final Image nameErrorImage;
private final TextArea descriptionField;
private final Button submitButton;
private final Button cancelButton;
private final boolean editMode;
private final Category category;
private final CategoryPane categoryPane;
private final DataManager dataManager;
public CategoryFormDialogBox(CategoryPane categoryPane, DataManager dataManager) {
this(categoryPane, dataManager, new Category(), false);
}
public CategoryFormDialogBox(CategoryPane categoryPane, DataManager dataManager, Category category) {
this(categoryPane, dataManager, category, true);
}
private CategoryFormDialogBox(CategoryPane categoryPane, DataManager dataManager, Category category, boolean editMode) {
super(false, true);
setText("Formulário de Categoria");
this.category = category;
this.categoryPane = categoryPane;
this.dataManager = dataManager;
this.editMode = editMode;
VerticalPanel main = new VerticalPanel();
main.add(new Label("Nome"));
addGap(main, "3px");
nameField = new TextBox();
nameErrorImage = new Image(ERROR_IMAGE_URL);
nameErrorImage.setVisible(false);
HorizontalPanel nameFieldRow = new HorizontalPanel();
nameFieldRow.add(nameField);
nameFieldRow.setCellWidth(nameField, "60%");
nameFieldRow.add(nameErrorImage);
main.add(nameFieldRow);
main.setCellWidth(nameFieldRow, "100%");
addGap(main, "10px");
main.add(new HTML("Descriçâo"));
addGap(main, "3px");
descriptionField = new TextArea();
descriptionField.setSize("300px", "250px");
main.add(descriptionField);
addGap(main, "10px");
HorizontalPanel buttons = new HorizontalPanel();
submitButton = new Button(editMode ? "Edit" : "Add");
submitButton.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
handleSubmit();
}
});
cancelButton = new Button("Cancel", new ClickListener() {
public void onClick(Widget sender) {
handleCancel();
}
});
buttons.add(submitButton);
addGap(buttons, "5px");
buttons.add(cancelButton);
main.add(buttons);
addGap(main, "10px");
main.setCellHorizontalAlignment(buttons, VerticalPanel.ALIGN_CENTER);
main.setCellVerticalAlignment(buttons, VerticalPanel.ALIGN_MIDDLE);
SimplePanel content = new SimplePanel();
content.setWidget(main);
content.setStyleName("DialogContent");
setWidget(content);
}
protected void handleSubmit() {
if (validate()) {
category.setName(nameField.getText().trim());
category.setDescription(descriptionField.getText().trim());
if (editMode) {
handleUpdate();
} else {
handleCreate();
}
}
}
protected void handleCreate() {
Category selectedCategory = categoryPane.getSelectedCategory();
Long parentCategoryId = selectedCategory == null ? null : selectedCategory.getId();
dataManager.createCategory(category, parentCategoryId, new Callback<Category>() {
public void onSuccess(Category category) {
categoryPane.addCategory(category);
hide();
}
});
}
protected void handleUpdate() {
dataManager.updateCategory(category, new Callback<Void>() {
public void onSuccess(Void result) {
categoryPane.reloadCategories();
}
});
}
protected void handleCancel() {
hide();
}
protected boolean validate() {
String name = nameField.getText().trim();
if (name.length() == 0) {
nameErrorImage.setTitle("Required");
nameErrorImage.setVisible(true);
return false;
}
return true;
}
protected void addGap(HorizontalPanel panel, String width) {
Label label = new Label();
panel.add(label);
panel.setCellWidth(label, width);
}
protected void addGap(VerticalPanel panel, String height) {
Label label = new Label();
panel.add(label);
panel.setCellHeight(label, height);
}
}
.gwt-DialogBox {
border: 1px solid #666666;
background-color: #e3dede;
}
Ele aparece como branco e eu quero trocar para preto. Como realizo isso? Obrigado. Frederico