Java SWT中Shell怎样刷新?
我动态生成了一个Shell窗体,可以根据变量的数值生成对应的tabItem.现在做了一个按钮,按钮事件中重新给变量赋了值,目的是当我按下这个按钮时改变窗体中tabItem...
我动态生成了一个Shell窗体,可以根据变量的数值生成对应的tabItem.
现在做了一个按钮,按钮事件中重新给变量赋了值,目的是当我按下这个按钮时改变窗体中tabItem的个数,请问应该用什么命令可以让shell窗体刷新一下?也就是重新生成这个窗体。
如果说shell刷新不行的话,其中的composite组件能不能刷新? 展开
现在做了一个按钮,按钮事件中重新给变量赋了值,目的是当我按下这个按钮时改变窗体中tabItem的个数,请问应该用什么命令可以让shell窗体刷新一下?也就是重新生成这个窗体。
如果说shell刷新不行的话,其中的composite组件能不能刷新? 展开
4个回答
展开全部
以前我做过一个Table,内容是动态且是pack()显示的,刚开始内容改变后好像用的是Table.redraw(); 虽然也能实现功能,但是因为tableitem显示的内容有长有短,pack以后表变动特大,而且redraw的时候能看到item内容变化的过程,很突兀且效率较低,影响用户体验。
后来一个很好的解决方法是:
要改动内容前设置 Table.setVisible(false);
然后改变tableitem
改变以后Table.setVisible(true); 这样就可以了
附:清空表内容的方法是Table.clearAll()
后来一个很好的解决方法是:
要改动内容前设置 Table.setVisible(false);
然后改变tableitem
改变以后Table.setVisible(true); 这样就可以了
附:清空表内容的方法是Table.clearAll()
展开全部
用redraw或者refresh. layout也可以达到刷新的目的并且要重新计算布局。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用调用shell.layout()方法。这个方法不会改变容器的布局。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
invalidate(); 这个方法是刷新控件
你可以点按钮的时候,重新调用下tabItem啊。
你可以点按钮的时候,重新调用下tabItem啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询