`
fortianwei
  • 浏览: 61088 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Swing动态刷新

阅读更多

         可能大家都试过在swing的事件监听中动态添加组件,但是JFrame却不会动态显示,只有变大变小(实际是重画了)才会显示,有些人说repaint,updateUI可以,但是我试了一下还是不行。于是用validate...发现可以了

import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Ss extends JFrame{
	Container con=this.getContentPane();
	JButton jb1=new JButton("jb1");
	JButton jb2=new JButton("jb2");
	JLabel jl1=new JLabel("jl1");
	FlowLayout gly=new FlowLayout();
	JPanel jp=new JPanel(gly);
	public Ss(){
		con.add(jp);
		
		jp.add(jb1);
		jp.add(jb2);
		
		MyListener ml=new MyListener();
		jb1.addMouseListener(ml);
		this.setSize(200,200);
		this.setVisible(true);		
	}

	private class MyListener extends MouseAdapter{
		@Override
		public void mouseClicked(MouseEvent e) {
			// TODO Auto-generated method stub
			  try
			           {
				  //主要就是下面的invalidate和validate
				  //当然,用jp来invalidate和validatae也是可以的
			                    con.invalidate();
			        			JButton jb3=new JButton("jb3");
			        			jp.add(jb3);
			        			con.validate();		           }
			          catch (Exception ex)
		           {
			            ex.printStackTrace();              
			          } 		
		}	
	}
	public static void main(String s[]){
		Ss sss=new Ss();
		sss.setVisible(true);
	}
}
 
分享到:
评论
1 楼 fuzhzh 2010-10-19  
Thanks@

相关推荐

    java Swing Jtable 下拉动态加载数据

    JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。

    JTable动态刷新数据

    JTable 动态刷新数据是指在 Java Swing 应用程序中,使用 JTable 组件展示数据,并实时更新数据的过程。这种技术在很多实际应用场景中非常有用,如股票交易平台、实时监控系统、电子表格等。 首先,在使用 JTable ...

    java swing写的动态刷新路由器ip的工具

    java swing写的动态刷新路由器ip的工具,定期刷新,可设置刷新时间。输入路由器地址和用户名,密码后会定期刷新公网ip地址,软件界面会显示日志信息。对某些特殊需求很有用。目前适配tplink WDR8690双千兆路由器。...

    Swing图形界面实现可动态刷新的验证码

    Swing 图形界面实现可动态刷新的验证码 本文主要介绍了使用 Java 的 Swing 图形界面实现可动态刷新的验证码,通过这篇文章,读者可以学习到如何使用 Swing 实现验证码的生成和展示,并且了解到验证码的干扰元素和...

    Java Swing 皮肤包

    更改LookAndFeel后,必须调用`SwingUtilities.updateComponentTreeUI()`方法来刷新所有的Swing组件,使新的外观生效。 5. **兼容性与注意事项**: 确保所选的皮肤包与你的Java版本兼容,否则可能会遇到运行时错误...

    Swing速度慢和反映迟钝原因

    3. **适当使用缓冲策略**:对于需要频繁刷新的数据展示,可以考虑使用缓冲机制来减少更新频率,避免过度消耗EDT资源。 4. **合理设计UI架构**:在设计Swing应用的UI架构时,应该充分考虑到性能问题。比如,对于复杂...

    Swing MVC 代码示例

    例如,当`TableModel`中的数据发生变化时,`JTable`会自动刷新显示新的数据。 **控制器(Controller)** 控制器是模型和视图之间的桥梁,它处理用户的输入,并根据需要更新模型或视图。在Swing中,控制器通常以事件...

    swing自定义JTabbedPane组件外观

    在Java Swing库中,`JTabbedPane`是一个非常重要的组件,它允许用户在多个面板(JPanel)之间切换,每个面板都可以包含不同的内容。自定义`JTabbedPane`的外观可以提升应用程序的用户体验,使其更加个性化和专业。...

    Java实现圆圈旋转效果,等待、加载、刷新、旋转进度条

    Java代码实现圆圈旋转效果,比如在线看电影缓存时的旋转圆圈,网页刷新时的旋转圆圈,等待时

    swing与servlet通信

    - **Swing接收响应**:Swing应用接收Servlet的响应后,通常解析数据,更新UI组件,如显示服务器返回的信息或刷新表格。 4. **异步通信:JavaFX或Swing Workers** 为了保持用户界面的响应性,Swing应用通常使用...

    Java swing风格美化

    4. **刷新组件**:设置完主题后,需要刷新所有Swing组件以应用新的外观。这可以通过`SwingUtilities.updateComponentTreeUI(rootComponent)`完成,其中`rootComponent`是你的应用程序主窗口。 除了这些基础操作,...

    SWING nimrod主题文件

    对于已经存在的组件,可能需要重新绘制或者刷新以显示新主题。 4. 处理兼容性问题:不同的主题可能会对某些特定的组件或功能有特殊要求,因此在使用过程中需要注意潜在的兼容性问题,并进行相应的调整。 开发者可以...

    Java Swing打猎射击游戏

    在游戏逻辑部分,开发者可能使用Java的定时器(java.util.Timer或javax.swing.Timer)来控制游戏的节奏,例如每隔一定时间刷新屏幕、更新猎物位置或添加新的目标。同时,使用ArrayList或其他集合类来管理游戏对象的...

    swing皮肤jar包

    4. **刷新组件**: 更改皮肤后,需要重新初始化所有已创建的Swing组件,以便它们能够反映出新的皮肤效果。可以调用` SwingUtilities.updateComponentTreeUI(rootComponent)`,其中`rootComponent`是应用程序的顶级...

    JavaSwing贪吃蛇小游戏

    同时,必须确保UI更新操作在Event Dispatch Thread(事件分发线程)上执行,避免界面刷新与逻辑计算的冲突。 5. **游戏逻辑**:蛇的移动逻辑包括方向判断、碰撞检测(蛇身碰撞或边界碰撞)、得分计算、食物生成等。...

    java调用swing生成柱状图

    - `repaint()`方法刷新组件,使修改后的图形可见。 8. **异常处理**: - 编程时需要考虑可能出现的异常,如文件不存在、读取错误等,通过`try-catch`块进行捕获并提供合适的用户反馈。 代码示例中的`jb51_java...

    java浏览器+swing嵌套网页+源码免费

    6. **界面优化**:可能包括添加前进、后退按钮,刷新功能,以及地址栏等常见浏览器元素,提升用户体验。 这个项目的源码是一个很好的学习资源,可以帮助开发者了解如何在Java Swing应用中集成Web浏览功能。通过研究...

    swing入门教程

    3. **控制器(Controller)**:处理用户输入,并调用模型中的方法更新数据,然后通知视图进行刷新。 这种模式的优势在于将数据处理、用户界面渲染和用户交互逻辑分离,使得代码更加模块化,易于维护和扩展。 #### ...

    swing的太阳系轨迹模型

    `Timer`类可以用于控制时间间隔,每隔一段时间更新行星的位置,然后调用`repaint()`方法使得界面自动刷新显示最新的行星状态。 此外,为了使模型更逼真,开发者可能会引入角度和速度的变化,使得行星的旋转看起来...

    swing之滚动条下拉加载数据源码

    在Java的Swing库中,滚动条(Scrollbar)和下拉加载(Pull Down)是两个重要的组件,它们常用于创建用户界面,特别是处理大量数据时。`swing之滚动条下拉加载数据源码`这个标题暗示了我们将在 Swing 应用程序中实现...

Global site tag (gtag.js) - Google Analytics