swing制作的启动界面

Springboot整合Swing制作简单GUI客户端项目记录 业务的要求千奇百怪,今天要写个GUI客户端,JAVA是无所不能的 Swing 和 JavaFx 以前学java的时候,用过一点Swing,而JavaFx没有接触过,所以没选。 若两者都没用过,强烈建议使用JavaFx,Swing已经停止更新维护,样式风格像上古的windows 98,JavaFx是08年Oracle推出的新项目,界面趋势基本是Web UI了,是一个新时代。 我使用了美化ui来规避Swing极其丑陋的外观 Springboot项目整合Swing 新建一个Springboot web项目,用. 阅读详情

SplashWindow1.java

package jiang.splash;

import javax.swing.*;
import java.awt.*;


/**
 * <p>Description: </p>
 * SplashWindow1类从Swing的JWindow派生。
 * JWindow是一个容器,它没有其他窗口所具有的各种窗口元素,如标题条、窗口管理按钮,甚至连突出显示的边框也没有。
 * 因此,JWindow对于制作欢迎屏幕来说是非常合适的。下面的代码假定图形文件在当前目录。
 * 图形通过ImageIcon装入内存,然后它就被放到了JWindow的中心。
 * 接着,窗口被pack(),这使得Swing把窗口调整到适当的大小,最后窗口被移到了屏幕的中心。
 * 如果我们运行下面的程序,可以发现虽然欢迎画面确实出现在屏幕中央,但遗憾的是,它却不会关闭!
 * 要关闭欢迎画面,我们需要加入更多的代码(见SplashWindow2.java)。
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
class SplashWindow1 extends JWindow {
    public SplashWindow1(String filename, Frame f) {
        super(f);
        JLabel l = new JLabel(new ImageIcon(filename));
        getContentPane().add(l, BorderLayout.CENTER);
        pack();
        Dimension screenSize =
                Toolkit.getDefaultToolkit().getScreenSize();
        Dimension labelSize = l.getPreferredSize();
        setLocation(screenSize.width / 2 - (labelSize.width / 2),
                    screenSize.height / 2 - (labelSize.height / 2));
        setVisible(true);
        screenSize = null;
        labelSize = null;
    }

    public static void main(String[] args) {
        String fn = "images/mysplash.jpg";
        Frame fm = new Frame();
        SplashWindow1 Login = new SplashWindow1(fn, fm);
    }

}

SplashWindow2.java

package jiang.splash;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 *
 * <p>Description: </p>
 *
 * 和原先的SplashWindow1类相比,这个SplashWindow2类唯一的区别在于多出了一个安装到
 * JWindow上的匿名MouseListener。经过这个改动之后,用户可以点击欢迎屏幕关闭它。
 * <br>
 * 现在我们有了一个很不错的欢迎屏幕,它可以通过点击的方法关闭,但它不会自己消失。
 * 接下来我们要加入代码,使得欢迎屏幕在显示一定的时间之后自动消失。这里我们要考虑到运用线程。
 * (见SplashWindow3.java)
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */

class SplashWindow2 extends JWindow
{
    public SplashWindow2(String filename, Frame f)
    {
        super(f);
        JLabel l = new JLabel(new ImageIcon(filename));
        getContentPane().add(l, BorderLayout.CENTER);
        pack();
        Dimension screenSize =
          Toolkit.getDefaultToolkit().getScreenSize();
        Dimension labelSize = l.getPreferredSize();
        setLocation(screenSize.width/2 - (labelSize.width/2),
                    screenSize.height/2 - (labelSize.height/2));
        addMouseListener(new MouseAdapter()
            {
                public void mousePressed(MouseEvent e)
                {
                    setVisible(false);
                    dispose();
                }
            });
        setVisible(true);
    }

    public static void main(String[] args) {
        String fn = "images/mysplash.jpg";
        Frame fm = new Frame();
        SplashWindow2 Login = new SplashWindow2(fn, fm);
    }

}

SplashWindow3.java

package jiang.splash;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
 *
 * <p>Description: </p>
 * 这里的基本思路是利用一个在一定时间内暂停等待的Thread对象。
 * 在下面的代码中,线程的暂停时间是2秒。当这个线程唤醒时,它将关闭欢迎屏幕。
 * 由于Swing是非线程安全的,除非代码在事件分派线程上执行,否则它就不应该影响任何UI组件的状态。
 * 所谓事件分派线程,就是Swing中负责绘图和事件处理的线程。
 * <br>
 * 为了解决这个问题,Swing设计者赋予我们安全地把Runnable对象加入UI事件队列的能力。
 * 在本例中,我们用可运行对象closerRunner完成最关键的工作。
 * 我们把可运行对象传入SwingUtilities.invokeAndWait()静态方法,
 * 然后SwingUtilities.invokeAndWait()进行所有未完成的UI操作,
 * 并执行传递给该椒ǖ目稍诵卸韵骳loserRunner的run方法。
 * 通过运用一个独立的线程负责欢迎屏幕的关闭操作,应用担负起了显示和关闭欢迎屏幕之间的所有操作。
 * <br>
 * 如果要让欢迎屏幕总是显示且用户不能关闭它,你必须删除那些隐藏欢迎屏幕的代码。
 * 如果要让欢迎屏幕只能由用户手工关闭,你可以象使用任何其他JWindow对象一样调用
 * SplashWindow3对象上的setVisible(false)和dispose()方法。
 * <br>
 * 总而言之,借助于SwingUtilities.invokeAndWait()方法,我们可以安全地创建出多线程欢迎屏幕。
 * 具体实现时,欢迎屏幕可以由用户点击关闭,也可以在一定的时间之后自动关闭。
 * Swing所支持的线程模型使得应用在显示欢迎屏幕之后仍能够响应其他事件和处理其他任务。
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */

class SplashWindow3 extends JWindow
{
    public SplashWindow3(String filename, Frame f, int waitTime)
    {
        super(f);
        JLabel l = new JLabel(new ImageIcon(filename));
        getContentPane().add(l, BorderLayout.CENTER);
        pack();
        Dimension screenSize =
          Toolkit.getDefaultToolkit().getScreenSize();
        Dimension labelSize = l.getPreferredSize();
        setLocation(screenSize.width/2 - (labelSize.width/2),
                    screenSize.height/2 - (labelSize.height/2));
        addMouseListener(new MouseAdapter()
            {
                public void mousePressed(MouseEvent e)
                {
                    setVisible(false);
                    dispose();
                }
            });
        final int pause = waitTime;
        final Runnable closerRunner = new Runnable()
            {
                public void run()
                {
                    setVisible(false);
                    dispose();
                }
            };
        Runnable waitRunner = new Runnable()
            {
                public void run()
                {
                    try
                        {
                            Thread.sleep(pause);
                            SwingUtilities.invokeAndWait(closerRunner);
                        }
                    catch(Exception e)
                        {
                            e.printStackTrace();
                            // 能够捕获InvocationTargetException
                            // 能够捕获InterruptedException
                        }
                }
            };
        setVisible(true);
        Thread splashThread = new Thread(waitRunner, "SplashThread");
        splashThread.start();
    }

    public static void main(String[] args) {
        String fn = "images/mysplash.jpg";
        Frame fm = new Frame();
        SplashWindow3 Login = new SplashWindow3(fn, fm, 2000);
    }

}

SplashWindow4.java

package jiang.splash;

import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.*;

/**
 *
 * <p>Description: </p>
 * 在下面的代码中,欢迎屏幕的暂停时间是10秒。同时加入了进度条显示。
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */

public class SplashWindow4 extends JWindow {
    public SplashWindow4(String imgPath, Frame f, int waitTime) {

        super(f);

        JLabel lMain = new JLabel(new ImageIcon(imgPath + "logo_main3.jpg"));
        JLabel lEast = new JLabel(new ImageIcon(imgPath + "logo_east.jpg"));
        JLabel lSouth = new JLabel(new ImageIcon(imgPath + "logo_south.jpg"));
        JLabel lWest = new JLabel(new ImageIcon(imgPath + "logo_west.jpg"));
        final JProgressBar p = new JProgressBar();

        getContentPane().add(lMain, BorderLayout.NORTH);
        getContentPane().add(lSouth, BorderLayout.SOUTH);
        getContentPane().add(lEast, BorderLayout.EAST);
        getContentPane().add(lWest, BorderLayout.WEST);
        getContentPane().add(p, BorderLayout.CENTER);
        p.setBorderPainted(false);
        p.setBorder(null);
        p.setPreferredSize(new Dimension(p.getSize().width, 6));
        p.setForeground(new Color(153,153,204));

        pack();

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension splashSize = new Dimension(lMain.getPreferredSize().width,
                                             lMain.getPreferredSize().height +
                                             p.getPreferredSize().height +
                                             lSouth.getPreferredSize().height);
        setLocation(screenSize.width / 2 - (splashSize.width / 2),
                    screenSize.height / 2 - (splashSize.height / 2));

        addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
                setVisible(false);
                dispose();
            }
        });

        final int pause = waitTime;
        final Runnable closerRunner = new Runnable() {
            public void run() {
                setVisible(false);
                dispose();
            }
        };
        Runnable waitRunner = new Runnable() {
            public void run() {
                try {
                    Thread.sleep(pause);
                    SwingUtilities.invokeAndWait(closerRunner);
                } catch (Exception e) {
                    e.printStackTrace();
                    // 能够捕获InvocationTargetException
                    // 能够捕获InterruptedException
                }
            }
        };

        Runnable progress = new Runnable() {
            public void run() {
                for (int i = 1; i <= 50; i++) {
                    p.setValue(i * 2);
                    try {
                        Thread.sleep(pause / 50);
                    } catch (InterruptedException ex) {
                    }
                }
            }
        };

        setVisible(true);

        Thread splashThread = new Thread(waitRunner, "SplashThread");
        splashThread.start();
        Thread progressThread = new Thread(progress, "ProgressThread");
        progressThread.start();

    }

    public static void main(String[] args) {
        String imgPath  = "images/";
        Frame fm = new Frame();
        SplashWindow4 Login = new SplashWindow4(imgPath, fm, 10000);
    }

}


java实现程序启动界面 启动界面,就是读进度条那个。带源代码供学习。不错的功能。 立即下载

相关推荐

用Java制作的软件启动界面.rar

用Java制作带进度条的软件启动界面,这个技术现在已经成了“标配”。本源码共展示了两种功能,一是进度条的使用,二是软件的启动画面,加上这两个功能,你的Java程序就“专业”了不少。

java swing做的程序启动界面_用Java Swing 制作开始界面

使用Eclipse的朋友,对于Eclipse的启动初始化界面都很熟悉,Eclipse启动时有一个启动画面,在Eclipse所有的初始化工作都完成之后,启动画面会自动消失,同时JBuilder也一样有这样的启动画面。怎样做出这样的效果呢?1、首先我们建立一个WindowSplash的类。在类里面有三个方法:// 准备初始化窗口public static void prepareSplash(JFra...

weixin_42131798的博客 775

Java制作一个程序启动界面

Java制作一个程序启动界面的源代码实例,编写过程中用到进度条、文字绘制、获取屏幕尺寸、设置窗口位置、设置

Swing如何使用?几个操作示例教会你!

Swing 是 Java 中的一个 GUI 工具包,它是由 Oracle 公司提供的一套基于 Java 的用户界面组件。Swing 使得开发人员可以创建具有各种各样特殊效果和个性化的图形化用户界面(GUI),从而增强了应用程序的用户体验。 Swing 的使用非常广泛,它可以与 JavaFX 和 AWT 等 GUI 工具包配合使用,也可以用于开发 Java SE 和 Java EE 应用程序,使得 Java 开发人员可以轻松地创建跨平台的 GUI 应用程序,这是 Java 应用程序中一个不可或缺的组成部分。

解决bug的路上 2492

CVSNT的详细配置

关于cvsnt的详细描述、配置文件讲解,添加、删除用户

CVSNT-2.5.01

CVSNT配置 系统环境: CVSNT 2.5.02 window 2003 服务器配置: 1.安装cvsnt.一路next就行了。安装完毕后可以在服务控制器中发现多了2个服务:cvsnt与cvslocking 或是1. 双击Service Control Panel快捷方式,在Service Status页面,会看见cvs server 和 cvs lock server2个服务正常和稳定运行 2.选择Repository页面,点按Add按钮,选择已经准备好的C:\CVS这个目录,确认,OK,Yes,这时会在 C:\CVS下面建立一个CVSRoot目录,这是CVS默认的管理目录(默认模块)。如果报错,那是系统Path路 径未设置正确。 3.打开CVSNT验证:打开C:/CVS/CVSROOT/config文件,把SystemAuth=yes改成SystemAuth=no 4.增加CVS用户:打开C:/CVS/CVSROOT/passwd文件(这个文件安装是并没有建立,请自己建立一个 passwd文件,这个文件没有扩展名),添加 qab: 5.在Windows下建立一个用户cvsuser,供CVS的用户使用. 在CVSNT的Server Settings页面设置: Run as 刚才新建的用户cvsuser, 并设置改用户对目录C:/CVS/CVSROOT/passwd文件有读写权限。 设置Temporary默认的目录C:\WINDOWS\TEMP为其它盘任意目录:如:d:\temp 6.设置环境变量set CVSROOT=C:/CVS 7.在客户端cmd窗口,输入命令 set cvsroot=:pserver:qab@server/CVS(qab是刚才建立的用户名,server是安装的计算机名称,/CVS 是刚才建立的文件夹别名) cvs login 密码为空 这时会登录成功 改密码 cvs passwd 这时会看到passwd文件中的内容已经变成了qab:MAGvtI7IcD8ic,后面的这串字符是加密码后的密码,我们 将他改成qab:MAGvtI7IcD8ic:cvsuser,重复以上步骤,加入更多的用户. 8.这样你的服务器就设置成功了。不过因为我用的window xp它本身有防火墙。网络中的其它用户要想连 接server这个服务器必须把window xp的2401这个端口打开。打开后网络中的其它用户就可以登陆到 server这个计算机中进行配制管理了。 我在这里只是简单的介绍一下CVSNT配置。它的一些具体设置大家就上网上找吧。我在这里就不提了。 注: CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方 式,及CVSNT用户 单一验证方式,默认工作在混合验证方式下,当然使用单一验证方式对用户的管理肯 定比较方便一点,因此下面的配置就是围绕该方式进行的。各个资源库所使用的验证方式及用户配置由 其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件。 1、config文件 控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行: #Set this to `no" if pserver shouldn"t check system users/passwords #SystemAuth=yes 第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no: yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统 用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。 no:只使用CVSNT用户来进行验证。该文件可以在客户端进行修改,因此我们可以将其checkout出来将第 二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原 来的Windows系统用户将变为无效,因此要注意执行该步骤的时机

Java 启动 画面_java程序启动画面

在运行一个大型的应用程序,在程序能正式工作前需要一段时间来进行初始化.通常我们会显示一个等待画面直到程序初始化完成.在JAVA SE6中提供了一个SplashScreen类让我们能够很方便的实现这个功能.SplashScreen类能够在启动程序时在屏幕中央显示一张预先指定的图片或动画(gif),并且在第一个AWT/SWING窗口显示时自动关闭(当然你也可以在这期间自行关闭).使用SplashScr...

weixin_42503762的博客 952

LRTimelapse Pro v7.0.0 激活版下载安装教程 (延迟摄影后期渲染)

LRTimelapse Pro 是一款优秀的高级延时摄影解决方案,使用将为用户提供最全面的工具和功能,从导入和组织您的延时摄影序列、视觉工作流程、在 LRTimelapse 中直接编辑和渲染、视觉去闪烁等等,功能齐全,可以使用 LRTimelapse Pro 编辑多个序列时显著提高您的效率,轻松在 LRTimelapse 中配置和使用色彩管理,进行长期延时编辑,在 LRTimelapse Pro 中使用长期工作流程。为延时编辑、关键帧、分级和渲染提供最全面的解决方案。

wyqshusan的博客 3467

java swing 启动,正确启动Java Swing桌面应用程序的方法

What is the proper way to start the application that needs 5-10 seconds to retrieve initial data from the database? This is what I got so far but I am not sure that there are no better ways. I would l...

weixin_29281915的博客 685

Zabbix在Ubuntu 22.04上的性能优化与监控实战:从基础安装到高级配置

本文详细介绍了在Ubuntu 22.04系统上部署和优化Zabbix监控系统的完整流程,从基础安装到高级配置。内容包括MySQL数据库设置、Zabbix服务器与Web前端优化、性能调优策略以及实战监控场景应用,帮助用户构建高效的企业级监控解决方案。

sss66的博客 895

PostgreSQL和PostGIS安装、导入shp或gdb格式数据至数据库、使用QGIS测试上传PstGIS数据库操作和代码

本文详细介绍了postgresql和postgis安装步骤,并且使用postgis测试上传shp和gdb格式的矢量数据至数据库,包括步骤和代码,并使用qgis连接postgis数据查看数据库里的数据,数据依旧和本地数据一样可查看可编辑,方便后续数据底座开发和服务。

weixin_46456488的博客 1246

用java的jwindow实现程序运行出的splash画面。 (转)

用java的jwindow实现程序运行出的splash画面。 (转)[@more@] ...

csd3176的博客 165

Matlab实战:从零搭建弹道导弹六自由度仿真模型(附完整代码)

本文详细介绍了如何使用Matlab从零搭建弹道导弹六自由度仿真模型,涵盖仿真环境配置、核心运动方程实现、气动力建模及仿真结果分析。通过完整代码示例,帮助读者掌握弹道导弹六自由度仿真的关键技术,适用于航空航天工程和复杂系统建模领域。

x8y9z0的博客 947

Burp Suite汉化完整指南:4条启动命令拿到中文界面

BurpSuiteCN-Release 是一个基于 Java Agent 的免费 Burp Suite 汉化工具,不动原始包,一条命令即可启动中文界面。跟做完,你可以让 Burp Suite 跑起中文界面、给第三方插件自制一份中文对照文件,并在残留英文时快速定位原因。 ## 看懂 BurpSuiteCN-Release:Burp Suite 汉化工具一页速览 这个项目在运行期把 Burp Su

gitblog_00775的博客 186

保姆级避坑指南:Mid-360雷达到手后,用livox_ros_driver2从接线到出点云的完整流程

本文提供Mid-360雷达到手后的完整使用指南,涵盖从硬件接线、网络配置到livox_ros_driver2驱动的安装与调试,帮助用户避开常见陷阱,实现点云数据的稳定输出与可视化。重点解析了配置文件的参数设置和点云格式选择,确保用户能够高效部署和使用Mid-360雷达。

weixin_30733003的博客 487

CCC数字钥匙Release 3实战:如何用BLE/UWB实现无钥匙进入(附避坑指南)

本文深入解析CCC数字钥匙Release 3标准下BLE/UWB无钥匙进入系统的开发实践,涵盖硬件选型、安全测距协议、时序同步等关键环节,并提供实战调试技巧与安全攻防案例。特别针对BLE芯片配置、UWB模块选型等常见陷阱给出解决方案,帮助开发者高效实现厘米级精度的数字钥匙系统。

weixin_29326909的博客 256

java swing做的程序启动界面_swing做的程序启动界面 | 学步园

类似于eclipse的进度条加载代码,很不错的效果。如下图: package com.zuidaima.swing;import javax.swing.*;import java.awt.*;import java.net.*;public class JWindowDemo extends JWindow implements Runnable {Thread splashThread; //...

weixin_36440677的博客 367

三轴云台稳定控制算法优化实战:从PID到模糊自适应

本文深入探讨了三轴云台稳定控制算法的优化实践,从经典PID控制到模糊自适应算法的进阶应用。通过实战案例和代码示例,详细解析了PID调参技巧、模糊控制实现及多传感器数据融合方法,帮助工程师在复杂环境下提升云台抗干扰能力和响应速度,特别适用于无人机航拍等场景。

green的博客 915

使用SWING做一个简单的登录界面

学习目标: STEP1. 使用SWING做一个简单的登录界面; 学习内容: 首次接触使用SWING类,学习按钮监听器的使用; 步骤: 1)在Idea中建立一个SWING项目,建立一个panel1对象; 2)编写一个初始化Pannel的方法: private static void CreatGUI() { JFrame frame= new JFrame("用户登陆界面"); //定义一个框架 JPanel rootPane=new Swing

tom2jerry的博客 4134

6、Cocos2D游戏开发:精灵添加与角色实现

本文详细介绍了在Cocos2D游戏开发中如何添加背景精灵和玩家角色精灵。通过创建GameScene场景、组织项目资源、使用多分辨率图像适配不同设备,并深入讲解了将角色拆分为上下半身以实现更真实瞄准效果的原理。文章还解析了Cocos2D的图像搜索机制、锚点概念及其应用,以及如何通过父子节点关系管理复合角色。最终实现了猎人角色在场景中的正确显示与定位,为后续动画和交互功能打下基础。

e3f4g5的博客 90

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java swing做的程序启动界面_java swing做的程序启动界面

package com.swing;import javax.swing.*;import java.awt.*;import java.net.*;public class JWindowDemo extends JWindow implements Runnable {Thread splashThread; // 进度条更新线程JProgressBar progress; // 进度条pub...

weixin_42314680的博客 283

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

swing做的程序启动界面

swing做的程序启动界面,效果和eclipse类似。

云淡风轻、仅此一抹 9194

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java swing登录界面_JAVA SWing实现登陆界面

1、我们先看演示效果2、下面看具体实现,启动eclipse,创建java 工程3、新建添加类和包名4、工程中需要导入的系统中的包import java.awt.*;import javax.swing.*;//对按键监控需要用到的包import java.awt.event.ActionEvent;import java.awt.event.ActionListener;//对鼠标操作监控需要用到...

weixin_39641334的博客 4090

Java中swing编程中界面组件加载不出的问题

前段时间在用Java进行swing编程中出现的一个小问题,今天突然想起来,记录下来 练习时编写了一个简单的随机数生成器,代码如下: package NumberGenerator; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.event.Ac...

qq_36425800的博客 4962

java 程序启动界面_程序启动界面java代码

最近写了个程序启动界面,分享一下import javax.swing.*;import java.awt.*;import java.net.*;//Download by http://www.codefans.net//程序启动界面/*dkplus专业搜集和编写实用电脑软件教程,*搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号,*点击进入 dkplus官方博客 (java网...

weixin_33164198的博客 415

如何整合swing跟springboot,swing显示springboot启动进度的方法

1.使用spring管理swing的ui内容和控制器 2.监听spring中bean实例化的数量实现监控进度的作用,用rxjava事件通知实现swing界面进度更新 3.使用JFromDesigner设计页面 完整代码https://gitee.com/sgz2/swingexamples 效果 项目结构 启动类 package com.saoft.swing; imp...

6228
上一篇: 在Red Hat中添加TrueTye字体
下一篇: Java可执行文件制作
okjohn
博客等级 码龄23年 6粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值