awt

How do I call a function with a graphics object from another class?

断了今生、忘了曾经 提交于 2021-02-20 03:59:28
问题 I want to call paint() from main() but I need a parameter.I don't know which parameter to pass and I can't seem to use the Graphics object when I define g outside the parameters since it can't be initialized. I tried creating an object of the Graphics class in main() and then passing it as a parameter but then whenever I try to use g it gies me a nullException import java.util.*; import java.awt.*; import javax.swing.JFrame; class Boards extends Canvas { JFrame frame; void frame() { JFrame

How to save current state of graphics on JPanel [duplicate]

房东的猫 提交于 2021-02-19 03:28:33
问题 This question already has answers here : How to serialize Java 2D Shape objects as XML? (2 answers) Closed 6 years ago . I have a program that lets the user add rectangles and circles to JPanel using Graphics. What I want to be able to do is save the current state of the current JPanel (i.e. all of the shapes and their locations) into a file and be able to load that file back and restore that state. I have a Shapes class that extends JPanel and does all of the drawing and keeps track of the

杨玲 201771010133《面向对象程序设计(java)》第十六周学习总结

ぃ、小莉子 提交于 2021-02-17 22:23:51
《面向对象程序设计( java )》第十六周学习总结 第一部分:理论知识学习部分 1、程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行,它对应了从代码加载、执行至执行完毕的一个完整过程。操作系统为每个进程分配一段独立的内存空间和系统资源,包括:代码数据以及堆栈等资源。每一个进程的内部数据和状态都是完全独立的。多任务操作系统中,进程切换对CPU资源消耗较大。 2、多线程是进程执行过程中产生的多条执行线索。线程是比进程执行更小的单位。线程不能独立存在,必须存在于进程中,同一进程的各线程间共享进程空间的数据。每个线程有它自身的产生、存在和消亡的过程,是一个动态的概念。多线程意味着一个程序的多行语句可以看上去几乎在同一时间内同时运行。线程创建、销毁和切换的负荷远小于进程,又称为轻量级进程。 3、Java实现多线程有两种途径:创建Thread类的子类;在程序中定义实现Runnable接口的类。 4、用Thread类的子类创建线程:首先需从Thread类派生出一个子类,在该子类中重写run()方法。然后用创建该子类的对象Lefthand left=new Lefthand(); Righthand right=new Righthand();最后用start()方法启动线程 left.start(); right.start(); 5

图像识别

自闭症网瘾萝莉.ら 提交于 2021-02-15 16:54:11
1、Tess4j 最近在GitHub上看到一个图像识别的开源框架 tess4j ,而且是Java版的,为此利用此框架来识别验证码中的信息,利用它提供的字体库,来提取信息,对于没有什么干扰线的验证码准确率还是蛮高的,对于有一些干扰线的就差一些,不过也可以能通过训练字体库,从而可以提高准确率的。 根据范例,写了一个简单的提取验证码信息的工具类VerificationCode: 主要是用这个类的extract方法,这个方法有3个参数: 第1个参数是指定图片的路径 第2个参数是指定字体库的,其中chi_sim表示中文简体,eng表示英文 第3个参数是指定是否需要去除干扰线,true表示需要,false表示不需要 package com.swnote.tess4j.test; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import com.recognition.software.jdeskew.ImageDeskew; import net.sourceforge.tess4j.ITesseract; import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.util

基于Tesseract实现图片文字识别

家住魔仙堡 提交于 2021-02-14 13:59:23
一.简介    Tesseract是一个开源的文本识别【OCR】引擎,可通过Apache 2.0许可获得。它可以直接使用,或者使用API从图像中提取打印的文本,支持多种语言。该软件包包含一个ORC引擎【libtesseract】和一个命令行程序【tesseract】。Tesseract4添加了一个新的基于LSTM的OCR引擎,该引擎专注于行识别,但仍支持Tesseract 3的传统Tesseract OCR引擎,该引擎通过识别字符模式进行工作。通过使用传统OCR引擎模式【--oem 0】,可以与Tesseract 3兼容。它还需要训练好的数据文件对旧引擎进行支持,例如tessdata目录下的数据文件。   特点:     1.具有Unicode【UTF-8】支持,并且可以“开箱即用”地识别100多种语言。     2.支持各种输出格式,纯文本,hOCR【HTML】,PDF,仅不可见文本的PDF,TSV。Master分支还对ALTO【XML】输出提供实验性支持。     3.在许多情况下,要想获得更好的OCR结果,需要提高提供给Tesseract的图像的质量。 二.在python环境中安装pytesseract      安装成功! 三.在Windows系统下安装Tesseract      配置环境变量:       备注:最新的为4.1.0,建议安装4.x版本,根据一可知

java 基于Tesseract实现图片文字识别

旧巷老猫 提交于 2021-02-14 03:49:06
摘自: https://www.cnblogs.com/yszd/p/12072145.html 一.简介    Tesseract是一个开源的文本识别【OCR】引擎,可通过Apache 2.0许可获得。它可以直接使用,或者使用API从图像中提取打印的文本,支持多种语言。该软件包包含一个ORC引擎【libtesseract】和一个命令行程序【tesseract】。Tesseract4添加了一个新的基于LSTM的OCR引擎,该引擎专注于行识别,但仍支持Tesseract 3的传统Tesseract OCR引擎,该引擎通过识别字符模式进行工作。通过使用传统OCR引擎模式【--oem 0】,可以与Tesseract 3兼容。它还需要训练好的数据文件对旧引擎进行支持,例如tessdata目录下的数据文件。   特点:     1.具有Unicode【UTF-8】支持,并且可以“开箱即用”地识别100多种语言。     2.支持各种输出格式,纯文本,hOCR【HTML】,PDF,仅不可见文本的PDF,TSV。Master分支还对ALTO【XML】输出提供实验性支持。     3.在许多情况下,要想获得更好的OCR结果,需要提高提供给Tesseract的图像的质量。 二.在python环境中安装pytesseract      安装成功! 三.在Windows系统下安装Tesseract   

How to add a paintComponent() to a JPanel

白昼怎懂夜的黑 提交于 2021-02-11 15:14:49
问题 I have 2 classes, Class2 and Class4. I wish to add the paint in Class2 from Class4 onto a JPanel in Class4 using the p4.add(c2o) and f.add(p4) methods. I have no problems adding GUI but I simply couldn't add graphics. Class4: import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; public class Class4 { public void mainMethod(int event){ JFrame f = new JFrame("Love Test"); if(event == 0){ f.setDefaultCloseOperation(JFrame.EXIT_ON

Calibri Font when in <html> text moves to the bottom part of the component

只谈情不闲聊 提交于 2021-02-11 14:00:28
问题 There is not a lot to explain. Just see the MCVE/image below: public class FontExample extends JFrame { private static final Font FONT = new Font("Calibri", Font.PLAIN, 14); public FontExample() { super(""); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout()); JLabel withoutHtml = new JLabel("hello stackoverflow"); withoutHtml.setFont(FONT); withoutHtml.setBorder(BorderFactory.createLineBorder(Color.red)); add(withoutHtml); JLabel withHtml = new JLabel("<html><body

201771010113 李婷华 《面向对象程序设计(Java)》第八周总结

假装没事ソ 提交于 2021-02-09 09:02:29
一.理论知识部分 1.Java 为了克服单继承的缺点, Java 使用了接口, 一个类可以实现一个或多个接口。 2. 在 Java 程序设计语言中,接口不是类,而是对类 的一组需求描述,由常量和一组抽象方法组成。 接口中不包括变量和具体实现的方法。 3. 只要类实现了接口,则该类要遵从接口描述的统 一格式进行定义,并且可以在任何需要该接口的 地方使用这个类的对象。 4. 接口声明方式: public interface 接口名。 接口体中包含常量定义和方法定义,接口中只进 行方法的声明,不提供方法的实现。 类似建立类的继承关系,接口也可以扩展。 5. 接口的 扩展方法: public interface 接口 1 extends 接口 2 6. ( 1 )通常接口的名字以 able 或 ible 结尾; ( 2 )可以使用 extends 来继承接口的常量和抽象方 法,扩展形成新的接口; ( 3 )接口中的所有常量必须是 public static final ,方法必须是 public abstract ,这是 系统默认的,不管你在定义接口时,写不写 修饰符都是一样的。 7.接口的实现:在类声明时用 implements 关键字声明使用一个或 多个接口。 一个类使用了某个接口,那么这个类必须实现该 接口的所有方法,即为这些方法提供方法体。 一个类可以实现多个接口