Hello:
I have a similar situation to @nyankov in that I need to have some
areas in my panel remain fixed while others scroll. However, the
difference is that I am doing all of the activity in a GWT
application. Using a combination of posts above, I was able to get the
application working so that the bottom button panels remain fixed when
the window was resized or scrolled. However, I too, saw the flickering
and jumping that was mentioned but couldn't determine from the
previous posts if you were able to solve that issue ...
In addition to a fixed bottom panel, I have a fixed top panel, too.
However, that isn't working at all and I have a good feeling that my
parameter for setStyleAttribute is off. My code follows ... Thanks
for your help
[code]
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Window.ScrollEvent;
import com.google.gwt.user.client.Window.ScrollHandler;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
public class TestScrollBar {
public static void createTestScrollBar () {
RootPanel rootPanel = RootPanel.get();
//create absolute panel for project information
final AbsolutePanel absolutePanel = new AbsolutePanel();
HorizontalPanel projectPanel = new HorizontalPanel();
Label projectLabel = new Label("Project Name:");
TextBox projectText = new TextBox();
projectPanel.add(projectLabel);
projectPanel.add(projectText);
absolutePanel.add(projectPanel);
absolutePanel.setSize("100%","50px");
//test scrolling idea with labels
VerticalPanel mainPanel = new VerticalPanel();
mainPanel.add(new Label(" Scroll Test"));
mainPanel.add(new Label("Scroll Test2"));
mainPanel.add(new Label("Scroll Test3"));
mainPanel.add(new Label("Scroll Test4"));
mainPanel.add(new Label("Scroll Test5"));
mainPanel.add(new Label("Scroll Test6"));
mainPanel.add(new Label("Scroll Test7"));
mainPanel.add(new Label("Scroll Test8"));
mainPanel.add(new Label("Scroll Test9"));
mainPanel.add(new Label("Scroll Test10"));
mainPanel.add(new Label("Scroll Test12"));
mainPanel.add(new Label("Scroll Test12"));
//create scrollPanel
ScrollPanel scrollPanel = new ScrollPanel();
scrollPanel.add(mainPanel);
scrollPanel.setSize("100%", "100%");
//create buttonPanel
final AbsolutePanel cancelSavePanel = new AbsolutePanel();
Button saveButton = new Button("Save");
Button cancelButton = new Button("Cancel");
saveButton.setSize("100px", "25px");
cancelButton.setSize("100px", "25px");
cancelSavePanel.add(saveButton);
cancelSavePanel.add(cancelButton);
cancelSavePanel.setSize("100%","25px");
//add panels to rootPanel
rootPanel.add(absolutePanel);
rootPanel.add(scrollPanel);
rootPanel.add(cancelSavePanel, 0, Window.getClientHeight()-25 );
//window resize handler
Window.addResizeHandler(new ResizeHandler() {
public void onResize(ResizeEvent event) {
com.google.gwt.user.client.Element h =
absolutePanel.getElement();
//DOM.setStyleAttribute(h, "top", (event.getHeight
()-51)+"px");
DOM.setStyleAttribute(h, "top", "0px");
com.google.gwt.user.client.Element k =
cancelSavePanel.getElement();
DOM.setStyleAttribute(k, "top", (event.getHeight
()-25)+"px");
}
});
//window scroll handler
Window.addWindowScrollHandler(new ScrollHandler() {
public void onWindowScroll(ScrollEvent event) {
com.google.gwt.user.client.Element h =
absolutePanel.getElement();
DOM.setStyleAttribute(h, "top", "0px");
com.google.gwt.user.client.Element k =
cancelSavePanel.getElement();
DOM.setStyleAttribute(k, "top",
(Window.getClientHeight()
+event.getScrollTop()-25)+"px");
}
});
}
}
[/code]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---