`
tempsitegoogle
  • 浏览: 885752 次
文章分类
社区版块
存档分类
最新评论

Java Swing与线程的结合应用(一)

 
阅读更多

package com.han;

import java.awt.*;
import javax.swing.*;
/**
 * 使用了线程中断在swing进度条中的应用,在run()中调用JProgressBar的setValue()方法。
 * <p>
 * 本例应用了线程的中断,2种中断方法:
 * <ul>
 * <li>运用interrupt()方法</li>
 * <li>在run()中使用无限循环,然后用一个布尔什标记去控制循环的停止</li>
 * </ul>
 * 另外,还有内部类与匿名内部类的分别使用。
 *
 * @author HAN
 *
 */

@SuppressWarnings("serial")
public class ThreadAndSwing extends JFrame{
	static Thread thread;
	JProgressBar progressBar;
	public ThreadAndSwing(){
		progressBar=new JProgressBar();
		progressBar.setStringPainted(true);
		Container container=getContentPane();
		container.add(progressBar, BorderLayout.NORTH);//在不指定布局管理器的情况下,默认使用BorderLayout。 若不使用布局管理器,需明确说明setLayout(new BorderLayout())
		
		this.setTitle("线程中断在Swing进度条的使用");
		this.pack();
		this.setVisible(true);
		this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		
		this.creatThread();
		thread.start();
//		 thread_instance.setContinue(false); //另一种中断线程方式
		thread.interrupt();
	}
	
	class Thread_instance implements Runnable{
		boolean isContinue=true;
		public void setContinue(boolean b){
			this.isContinue=b;
		}
		@Override
		public void run() {
			// TODO Auto-generated method stub
			int count=0;
			
			while(true){
				progressBar.setValue(++count);
				try {
					Thread.sleep(1000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					System.out.println("当前程序被中断");
					break;
				}
				if(!isContinue){
					break;
				}
			}
			System.out.println("here");
		}
	}
	void creatThread(){
		thread=new Thread(new Thread_instance());
	}
	static void init(JFrame frame,int width,int height){
		frame.setSize(width,height);
	}
	public static void main (String[] args){
		init(new ThreadAndSwing(),300,100);
	}
}


分享到:
评论

相关推荐

    java Swing 多线程下载器

    Java Swing多线程下载器是一种利用Java Swing库构建的图形用户界面(GUI)应用程序,它具备多线程下载功能,并支持断点续传。这样的工具类似于我们熟知的迅雷下载管理器,允许用户同时下载多个文件,提高下载速度,...

    JAVA 开发 Swing与多线程

    Swing虽然是Java语言的一部分,但它设计为单线程模型,主要是为了简化GUI编程并避免复杂的同步问题。 Swing的单线程模型基于"事件派发线程"(Event Dispatch Thread, EDT),所有Swing组件的渲染和事件处理都在这个...

    java+swing漂亮软件界面+超酷+以及javaswing教程.7z

    "java+swing漂亮软件界面+超酷+以及javaswing教程.7z"这个压缩包文件显然包含了关于如何利用Java Swing创建出吸引人的、具有超酷效果的软件界面的资源和教程。 Java Swing 提供了一系列的组件,如JFrame,它是窗口...

    java+swing聊天室

    总的来说,Java Swing聊天室项目结合了GUI设计、事件处理、网络编程和多线程技术,是一个全面展示Java桌面应用开发能力的好例子。通过学习和分析这样的项目,开发者不仅可以提升Swing应用的构建技巧,还能加深对Java...

    JAVA+多线程+swing和awt技术+ 飞机大战+学习Java者

    标题中的“JAVA+多线程+swing和awt技术+ 飞机大战+学习Java者”揭示了这个压缩包包含的内容是关于Java编程的,特别是涉及到多线程和图形用户界面(GUI)开发,使用了Java的Swing和AWT库来实现一个“飞机大战”的游戏...

    java swing 多功能 聊天室

    通过查看和学习这个项目的源码,开发者可以深入理解Java Swing在实际项目中的应用,以及如何结合网络编程实现一个功能完善的聊天室系统。 总的来说,"java swing 多功能 聊天室"项目展示了Java Swing在构建复杂GUI...

    JAVA SWING 多线程扫描局域网IP及端口 v2 源码

    在"JAVA SWING 多线程扫描局域网IP及端口 v2 源码"这个项目中,我们可以看到开发者使用了Swing来创建一个图形化的用户界面,同时结合多线程技术来实现局域网内的IP和端口扫描。 1. **Swing基础**:Swing是Java AWT...

    JAVA SWING 多人聊天

    总结起来,"JAVA SWING 多人聊天"项目是一个结合了Java Swing GUI设计、TCP网络编程以及Socket通信的实例,展示了如何构建一个稳定的多人聊天平台。对于学习者来说,这个项目不仅能够加深对Swing组件使用的理解,还...

    java swing 增删改查

    在这个"java swing 增删改查"的小项目中,我们可以推测开发者利用Swing 创建了一个简单的数据库操作应用,允许用户对数据进行添加、删除、修改和查询。 在Java Swing中,主要涉及以下几个核心知识点: 1. **容器与...

    Java Swing 点名系统

    在技术实现上,Java Swing是一个轻量级的GUI工具包,它是Java Foundation Classes (JFC)的一部分,用于构建与平台无关的桌面应用程序。在Java Swing点名系统中,Swing组件被用来创建各种交互式的界面元素,如按钮、...

    基于swing多线程的赛马游戏

    本项目“基于Swing多线程的赛马游戏”是一个很好的实践案例,它结合了Swing图形用户界面(GUI)和多线程技术,以模拟赛马比赛并允许用户下注和预测结果。 首先,我们要理解Swing的基础。Swing是Java的一个图形用户...

    利用JavaSwing、JavaSound实现简易音乐播放器

    JavaSwing是Java提供的一个图形用户界面(GUI)工具包,允许开发者创建丰富的桌面应用。下面将详细介绍这个项目涉及的关键知识点。 1. **JavaSwing组件**: - `JFrame`:作为应用的主窗口,用于承载其他组件。 - ...

    java swing url下载器

    Java Swing URL下载器是一个利用Java Swing图形用户界面库开发的应用程序,主要用于从互联网上下载文件。Swing是Java提供的一种轻量级GUI工具包,它允许开发者创建丰富的桌面应用程序。这个URL下载器通过用户输入的...

    Java Swing图形界面开发与案例详解及随书实例代码

    Java Swing是Java编程语言中用于构建桌面应用程序图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件集,包括按钮、文本框、菜单等,使得开发者能够创建功能强大的、...

    酒店管理系统 java swing

    【酒店管理系统】是一款基于Java Swing开发的桌面应用程序,主要用于实现酒店日常运营的信息化管理。Swing是Java标准库中的一个图形用户界面(GUI)工具包,它提供了丰富的组件和功能,使得开发者能够创建出功能完备...

    java swing 鼠标自动移动

    综上所述,"java swing 鼠标自动移动"项目结合了Java Swing GUI编程、鼠标事件处理、Robot类的使用、以及应用打包技术,为开发者提供了一个实用的示例,展示了如何在Java环境中实现鼠标自动移动。

    javaswing游戏开发-捕鱼达人

    在本项目"javaswing游戏开发-捕鱼达人"中,我们看到的是一个基于Java Swing开发的捕鱼达人游戏,这为初学者提供了一个很好的实践平台,可以学习如何利用Java进行游戏开发。 Java Swing 提供了一系列组件,如JFrame...

    java swing

    在实际编程中,Swing应用程序可以通过SwingUtilities.invokeLater()方法启动,确保组件的绘制在事件调度线程中进行,遵循Java GUI的线程安全原则。 总而言之,Java Swing是开发Java桌面应用的强大工具,它提供了...

    java swing socket写的聊天工具

    Java Swing 是Java GUI(图形用户界面)库,用于构建桌面应用程序。...总的来说,这个Java Swing和Socket结合的聊天工具是一个综合性的项目,涵盖了GUI设计、网络编程、多线程和并发控制等多个IT领域的知识点。

    javaswing聊天小程序

    Java Swing聊天小程序是一款基于Java Socket、线程和TCP协议实现的简单通信应用。在这个程序中,用户可以通过图形用户界面(GUI)进行实时的文本聊天。下面我们将深入探讨这些关键技术点。 1. **Java Socket**: ...

Global site tag (gtag.js) - Google Analytics