Java图形用户界面设计(Java学习记录)

JAVA期末大作业(电话薄管理系统设计与实现) 电话簿管理系统设计与实现电话号码查询 增加 删除 修改 统计窗体增加记录到数据表。与数据库建立连接。 阅读详情

JavaFx

1、Java窗体JFrame类

  • 通过构造JFrame子类创造最简单的窗体
import javax.swing.*;

public class Example extends JFrame {
    Example() {
        setSize(480, 360);
        setVisible(true);
        setTitle("win");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new Example();
    }
}

2、Java的界面布局管理

Java为了实现跨平台机制,引入了布局管理器来管理界面。

void setLayout(LayoutManager layoutObj)

常见的布局管理方式有:

  • 流式布局管理器
setLayout(new FlowLayout(FlowLayout.LEFT));
  • 边界布局管理器
panel1.setLayout(new BorderLayout());
panel1.add("Center", tfObj1);
  • 网格布局管理器
setLayout(GirdLayout(int Rows, int Cols));

3、Java项目实战:字符串的查找与替换

先贴代码,然后进行详细说明
字符串查找算法类Match:

public class Match {

    public StringBuffer strReplace(String a, String b, String c) {
        StringBuffer res = new StringBuffer(a);
        int len = b.length();
        int leap = 0;
        for(int i = 0; i < a.length(); i ++ ) {
            if(a.charAt(i) == b.charAt(0)) {
                int x = 0;
                while(x < len && x + i < a.length() && a.charAt(i + x) == b.charAt(x)) {
                    x ++ ;
                }
                if(x == len) {
                    res.replace(i + leap, i + x + leap, c);
                    leap += c.length();
                }

            }
        }
        return res;
    }
}

创造窗体类Text:

import javax.swing.*;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class Text extends JFrame implements ActionListener {
    private JTextPane tPane = new JTextPane();
    private JTextPane tpObj1 = new JTextPane();
    private JTextPane tpObj2 = new JTextPane();

    private JButton btnReplace;
    private JLabel labObj1, labObj2, labObj3;
    private JPanel pObj1, pObj2, pObj3, pObj4, pObj5;

    StyledDocument doc = tPane.getStyledDocument();
    StyledDocument doc1 = tpObj1.getStyledDocument();
    StyledDocument doc2 = tpObj2.getStyledDocument();
    SimpleAttributeSet text = new SimpleAttributeSet();

    Text() {
        setTitle("文本查找与替换");
        setSize(720, 480);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        StyleConstants.setFontSize(text, 24);

        doc.setCharacterAttributes(0, 12, text, true);
        doc1.setCharacterAttributes(0, 12, text, true);
        doc2.setCharacterAttributes(0, 12, text, true);

        JScrollPane scroller = new JScrollPane(tPane);

        btnReplace = new JButton("替换");

        labObj1 = new JLabel("文本区域:");
        labObj2 = new JLabel("查找:");
        labObj3 = new JLabel("替换:");

        pObj1 = new JPanel();
        pObj2 = new JPanel();
        pObj3 = new JPanel();
        pObj4 = new JPanel();
        pObj5 = new JPanel();

        pObj1.setLayout(new BorderLayout());
        pObj1.add("North", labObj1);
        pObj1.add("Center", scroller);
        //查找文本框
        pObj2.setLayout(new BorderLayout());
        pObj2.add("North", labObj2);
        pObj2.add("Center", tpObj1);
        //替换文本框
        pObj3.setLayout(new BorderLayout());
        pObj3.add("North", labObj3);
        pObj3.add("Center", tpObj2);

        pObj4.setLayout(new FlowLayout());
        pObj4.add(btnReplace);

        pObj5.setLayout(new GridLayout(3, 1));
        pObj5.add(pObj2);
        pObj5.add(pObj3);
        pObj5.add(pObj4);

        setLayout(new GridLayout(1, 2));
        add(pObj1);
        add(pObj5);

        validate();

        btnReplace.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        JButton butObj = (JButton)(e.getSource());

        Match classObj = new Match();
        if(butObj.getLabel() == "替换") {
            String str1 = tPane.getText();
            String str2 = tpObj1.getText();
            String str3 = tpObj2.getText();
            StringBuffer res = classObj.strReplace(str1, str2, str3);
            tPane.setText(res.toString());
        }
    }
}


主方法:

public class Example {
    public static void main(String[] args) {
        new Text();
    }
}

以上就是实现字符串查找与替换窗口的几个类;
接下来,我将详细说明每个新的知识点。

4、新知识点说明

JTextPane

JTextPane是我们在GUI界面上看到的输入文本框

//新建一个JTextPane对象 
JTextPane tPane = new JTextPane;

//获得该文本框的各项信息,如字体大小等
StyledDocument doc = tPane.getStyledDocument();

//使用SimpleAttributeSet来储存一整个集合的字体设定
SimpleAttributeSet text = new SimpleAttributeSet();

//使用StyleConstants方法往text中加入一些字体设定。
StyleConstants.setFontSize(text, 24);

//将tPane的doc文件更新,更新为之前设定好的text中的内容。
doc.setCharacterAttributes(0, 12, text, true);
JPanel GUI 界面的容器
JPanel pObj1 = new JPanel(); //新建一个JPanel对象

//使用BorderLayout界面管理器
pObj1.setLayout(new BorderLayout()); 

//将之前定义好的labObj1和scroller加入到pObj1这个容器中
pObj1.add("North", labObj1);
pObj1.add("Center", scroller);
ActionListener 动作捕捉
//按我的理解,这边应该是继承了ActionListener这个接口,然后自己写方法实现。
class Text extends JFrame implements ActionListener {
	@Override
    public void actionPerformed(ActionEvent e) {
  		//监听被按按钮的名字
        JButton butObj = (JButton)(e.getSource());

        Match classObj = new Match();
        //如果被按的按钮是替换
        if(butObj.getLabel() == "替换") {
			//取得文本框里面的文字
            String str1 = tPane.getText();
            String str2 = tpObj1.getText();
            String str3 = tpObj2.getText();
            StringBuffer res = classObj.strReplace(str1, str2, str3);
            tPane.setText(res.toString());
        }
    }
}

以上就是我学习这个项目时,遇见的新东西。记录在此,供自己以后复习,以及有需要的人参考。

基于Java的2048小游戏设计 基于Java的2048小游戏设计 基于Java的2048小游戏设计的源代码 基于Java的2048小游戏设计的课程设计报告 package 小游戏; import javax.sound.sampled.; import javax.swing.; import java.io.; import java.awt.; import java.awt.event.; import java.util.; public class My2048Game extends JFrame{ //定义自己的面板 MyP 阅读详情

相关推荐

Java8设计模式最佳实战-设计模式概述(第七天学习记录)

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。更多JVM面试整理:网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)一个人可以走的很快,但一群人才能走的更远!

pckzzy117的博客 1243

Java从零开始系列08:图形用户界面程序设计

学习目标 显示窗体 在组件中显示信息 事件处理 首选项API 一、显示窗体 Java中,顶层窗口称为窗体(frame)。抽象窗口工具包(Abstract Window Toolkit, AWT)库中有一个成为Frame的类,用于描述这个顶层窗口。这个类的Swing版本名为JFrame,它扩展了Frame类。JFrame是极少数几个不绘制在画布上的Swing组件之一,其修饰部件(按钮、标题栏、图标等)由用户的窗口系统绘制,而不是由Swing绘制。 (二)创建窗体 如下程序在屏幕中显示了一个空窗体

a789253的博客 3844

基于SpringBoot的个人学习记录平台的设计

Java Web开发一直被人诟病的一点就是臃肿、麻烦。其中最主要的原因就是复杂的配置和混乱的依赖管理。学习Spring的第一件事情就是学习它的配置文件的编写,整个Spring的运行都是建立在那些繁多的配置文件之上的,开发者通过修改配置而对Spring的底层进行影响。而配置文件就是一个麻烦的代名词,它使得开发者不仅要学习Spring的编程技巧,还要学习其对应的配置文件的编写,让开发者的思维跳转与业务逻辑和配置编写之间,很影响编程效率。

来自一名程序猿的案例文档分享 988

电话本管理系统java实现

项目图片:telephone项目 所用到的包: ’ Person类: public class Person { private int Id; //ID private String Name; //姓名 private String Phonenumber; //电话号码 ...

baobeiduoduo的博客 2683

电话号码管理系统 Java编写的 可以支持录入,修改,查询,删除,退出

电话号码管理系统 Java编写的 可以支持录入,修改,查询,删除,退出

java图形化界面实现的个人通讯录管理系统

使用java图形化界面实现个人通讯录管理系统,具有个人信息管理,通讯录心里添加,删除,修改,查询等功能。 登陆功能及管理员权限设置。

初识图形用户界面(1)

写在前面:在《软件构造》课程的Lab1中,第一次接触了图像界面,但是图形界面已经为我们设计好了,并不需要我们自己去实现,在Lab3中,实验要求使用图形用户界面或者命令行,博主采用了图形用户界面,博主通过学习java教材,自主完成了图形用户界面的设计,在这里分两次叙述自己对图形用户界面的心得与体会。 一.显示窗体 在Java中,顶层窗口(就是没有包含在其他窗口中的窗口)称为窗体(frame)。AWT库中有一个称为Frame的类,用于描述这个顶层窗口。这个类的Swing版本名为JFrame,它扩展了Fr

Xx_lbbh的博客 291

嵌入式开发实战:如何用cJSON库在STM32上实现轻量级JSON通信(附完整代码)

本文详细介绍了如何在STM32嵌入式系统中使用cJSON库实现高效的JSON通信方案。针对嵌入式环境的内存限制,提供了内存优化策略、cJSON库的深度定制方法以及完整的通信流程实现代码,帮助开发者解决JSON解析效率低下和跨平台兼容性等核心挑战。

star5的专栏 473

JAVA课需要一个小项目来搞课程设计,所以设计了一个ATM柜员机模拟程序(GUI界面),个人学习记录用。请勿喷,谢谢谅解

个人学习,Java GUI 模拟小程序

习惯了就好 9939

腾讯文档API逆向分析:不用Selenium也能批量导出的黑科技

本文揭秘了如何通过Python逆向分析腾讯文档的隐藏API,实现无需Selenium即可批量导出在线表格的高效方法。详细解析了API调用流程、Cookie维护及异常处理技巧,相比传统方案性能提升显著,适用于大量文档导出的自动化场景。

h9j8k7l6m5n的博客 1202

多测师肖sir_高级金牌讲师_数据库之存储练习题(8.13.1)

实验 一、 实验要求: 理解存储过程的概念 掌握存储过程的语法格式、使用方法 掌握存 储过程的创建、执行 二、实验前提: – drop table if exists student; – Create table student – (Id varchar(255), #学号 – Name varchar(255), #姓名 – Roomid varchar(255), #班级 – Sex char(1), #性别 – Degree varchar(3) );#成绩; Insert into stud

多测师肖sir的博客 708

java j v_《Java语言程序设计》的课程作业

前言:学习编程刚开始最合适的资料可能是一些现成的 bug-free 代码。由浅入深自己慢慢琢磨,对代码进行编译运行,到修改尝试,到改写添加新功能,到能够独立写出自己的程序。这学期选了门 Java,虽然没上过几节课,不过作业还算是马马虎虎的完成了,贴出来便于今后初学者参考。由于我初学 Java,不能保证代码的编程风格和效率,仅供参考吧。学习 Java 一开始得确保自己的电脑上有 JRE (Java ...

weixin_36421280的博客 283

出现 Error:Unable to access jarfile xxxx\target\nacos-server.jar 解决方法

Nacos中的 2.x执行步骤如上,如果需要安装下载1.x版本,执行该步骤之后 自动更新下载的是2.x版本 对此如果需要下载安装1.x的版本,可通过如下连接(windows版本)

码农研究僧的博客 5700

图书管理系统Java课程设计

图书管理系统Java课程设计 去发现同类优质开源项目:https://gitcode.com/ 本项目为太原理工大学2018级信息与计算科学专业学生在2021年7月所完成的Java课程设计作业项目源代码。该系统模拟了一个图书管理的基本流程,实现了对图书信息的管理和查询功能。 项目描述 本项目是基于Java语言开发的图书管理系统,主要功能包括: 图书信息的录入、修改、删除和查询; 借阅记录的添加、...

gitblog_06792的博客 398

基于simulink的电气弹簧ES稳压控制模型仿真

若要补偿母线电压的谐波,需控制ES上的谐波,即在单闭环母线电压有效值控制的基础上,增加谐波抑制环节来进行谐波控制,现有的各种检测和抑制谐波的方法有采用模拟滤波器、傅里叶分析进行谐波分析、基于瞬时无功功率理论的方法等。当关键负载ZC为电流源型非线性负载时,电路原理图如图7所示,由于电流源型非线性负载可以等效为谐波电流源,关键负载电流ic便会含有谐波分量,导致输电线电流is和母线电压VS同样会含有谐波分量,导致供电质量的严重下降,对用电设备的正常工作造成影响。分别为流过线路阻抗、非关键负载、关键负载的电流,

FPGA/MATLAB学习教程/源码/项目合作开发 1633

Python爬虫实战:高效爬取Vimeo高清视频

在当今数字化时代,视频内容已成为互联网的重要组成部分。Vimeo作为一个高质量的视频分享平台,拥有大量优质视频资源。然而,Vimeo并未提供直接下载视频的选项,因此,我们需要借助Python爬虫技术来获取这些高清视频。(HTTP Live Streaming)格式存储。Vimeo的视频通常不会直接暴露。Vimeo的视频通常以。

2201_76125261的博客 432

Java图形用户界面实验

写在前面: 最近事真的多,好不容易才抽空写完了这个实验报告,虽然是抽空,我却把这份实验报告做的很**,顶着压力等等因素调来调去,参数和函数改了又改,最后完成的时候这代码量和运行出来的界面让我感到很惊讶,我根本没预料到能做成这样。总之看了就明白我是在说什么了。还有,强列建议这个实验不要照搬我的代码,反正看到这代码量和运行结果就懂了,里面也用到了很多没教过的东西,so,相比之前的实验,这个更只能做参考,万万不要照搬。 要求: 1.能够编程实现java Swing组件的调用,调试窗口、框架、对话框、布局方式、面板

qq_52491362的博客 6562

【国产MCU】-CH32V307-通用定时器(GPTM)-输入捕获模式测量脉冲

CH32V307的通用定时器模块包含一个16 位可自动重装的定时器(TIM2、TIM3、TIM4和TIM5),用于测量脉冲宽度或者产生特定频率的脉冲、PWM波等。可用于自动化控制、电源等领域。 输入捕获是通用定时器功能之一,一般用于测量频率和测量脉冲宽度。本文将详细介绍如何通用定时器的输入捕获功能。

视觉与物联智能 2814

实验十:图形用户界面设计

源代码: package jisuanqi; import java.awt.*;import java.awt.event.*;import javax.swing.*; public class p{ TextField tf = new TextField(40); //显示文本框 StringBuffer s1 = new StringBuffer(...

weixin_30763455的博客 106

华为OD机试真题 新系统-等距二进制判断(C/C++/Py/Java/Js/Go)

华为OD机试 新系统真题【等距二进制判断】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【等距二进制判断】

qq_45776114的博客 1091

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java学习记录

通过这段时间的学习,我对 Java 有了较为全面的了解,从基本数据类型、运算符、流程控制,到数组、方法、面向对象编程,再到 API、包与访问控制等知识,每一个知识点都有其重要性和应用场景。今后,我希望能够进一步深入学习 Java,掌握更多的高级特性,如多线程、数据库编程、网络编程等。同时,我也会通过做项目来巩固所学的知识,提高自己的编程能力和解决实际问题的能力。相信在不断的学习和实践中,我会在 Java 编程的道路上越走越远。

Fengxi_7的博客 878

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

基于安卓APP/微信小程序的学习记录系统设计与实现

今天带来的是基于安卓APP/微信小程序的学习记录系统设计与实现,方便后期追踪学生发展。这是当今教育领域取得的一项重要进步,为教师和学生提供了更多便利和机会。借助科技的力量,学习过程不再局限于传统的纸质文档和书本,而是转向数字化的方向。首先,学习记录的数字化呈现为教学工作带来了极大的便利。传统阅卷需要花费大量的时间与精力,教师需要逐一批改学生的答题卷,耗时耗力。然而,随着在线阅卷系统的出现,这些问题很大程度上得到了解决。教师只需将学生的答题卷上传至系统中,系统会根据预设的评分标准自动进行评分和批改。

qq_15801219的博客 1911

深度学习工具包 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")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

基于SpringBoot高校本科生学习成长记录系统的设计与实现

Spring Boot是一个基于Spring框架的开源Java框架,旨在简化Spring应用程序的开发过程。它通过提供一系列的约定和默认配置,使得开发者能够快速构建独立的、生产级的Spring应用。Spring Boot的主要特点包括快速开发、自动配置和独立运行,开发者可以通过简单的注解和配置文件快速搭建应用程序,减少繁琐的XML配置。此外,Spring Boot内置了多种生产级特性,如监控、健康检查和指标收集,帮助开发者更好地管理和维护应用。

2301_76575540的博客 999

【中国大学MOOC】java程序设计-week11-编写一个具有图形用户界面的应用程序

1.题目 结合本讲及前面几讲的内容,编写一个具有图形用户界面的应用程序。可以是一个小游戏程序,也可以是一个日常的应用程序(如个人收支管理),也可以是一个多媒体方面的应用程序。可以任意选题,但要注意以下几点: (1)具有图形用户界面,使用JFrame/JButton等窗体及组件。 (2)具有绘图、图像或音频、视频方面的功能。 (3)具有文件读取或数据库访问方面的功能。 可以参考我们的示例,也可以参考网上的其他示例,但要求进行改进或重写,如果是改进,则要指出哪些部分是你的改进。希望你能做出有一定综合性的应用程序

t949500898的博客 3098
上一篇: Java集合(java学习记录)
下一篇: Java远程数据通信(Java学习记录)
Crisp0v0
博客等级 码龄7年 124粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值