java 用swing来设计UI,能不能够实现动态的加载组件呢?
展开全部
完全可以动态加载组件。
你在button触发的事件里,加一个 System.out.println("abc");
看看有没有执行。
还有,加JTree后,再执行一下 repaint(); 试试。
你在button触发的事件里,加一个 System.out.println("abc");
看看有没有执行。
还有,加JTree后,再执行一下 repaint(); 试试。
追问
我那里是用一个scrollPane来装着JTree的,加上repaint();这一句后那个scrollPane是可以显示了,但是JTree就需要把程序最小化再最大化才能显示。请问这是怎么回事呢?谢谢!
追答
我试了一下,如果JTree没有放在JScrollPane里,使用repaint()还是可以绘出来,但如果放在JScrollPane里,调用repaint()后,只能绘制出JScrollPane,但JScrollPane里的JTree无法绘制出来。必须使用 updateUI();
public void actionPerformed(ActionEvent e)
{
Object obj = e.getSource();
if(obj == button) //点击了按钮
{
JTree tree = new JTree();
JScrollPane jsp = new JScrollPane(tree);
jsp.setBounds(60, 60, 300, 100);
getContentPane().add(jsp);
jsp.updateUI();
//或用下面两句效果与jsp.updateUI();一样。
//repaint();
//validate();
}
}
展开全部
能!
因为Swing组件都是Java自己画出来的,所以可以在任意时刻新建组件(即使没有父容器都可以),从这点讲其比Windows一般的界面技术还要灵活(虽然不怎么漂亮)。
因为Swing组件都是Java自己画出来的,所以可以在任意时刻新建组件(即使没有父容器都可以),从这点讲其比Windows一般的界面技术还要灵活(虽然不怎么漂亮)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能,swing作为一个图形开发工具,这个还是支持的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“anexplore”正解 如果动态刷新控件需要这样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询