Giter VIP home page Giter VIP logo

hvdwolf / jexiftoolgui Goto Github PK

View Code? Open in Web Editor NEW
419.0 19.0 35.0 51.76 MB

jExifToolGUI is a multi-platform java/Swing graphical frontend for the excellent command-line ExifTool application by Phil Harvey

Home Page: https://hvdwolf.github.io/jExifToolGUI/

License: GNU General Public License v3.0

Shell 2.33% Makefile 0.01% Python 0.45% Java 96.69% Batchfile 0.31% HTML 0.21%
java swing-gui exiftool frontend multi-platform

jexiftoolgui's Introduction

jExifToolGUI

Graphical frontend for the excellent command-line ExifTool by Phil Harvey.

DEVELOPMENT HAS STOPPED
After many years, I decided to stop the development. I lost all interest in "special" photography like animal, bird and panorama photography. I sold all my equipment and got myself an expensive smartphone with good main lens, ultrawide and 3x tele which fits my needs on hikes/walks, travels and holidays, but doesn't require any progam other than Google Photos (for example).
I know there are bugs in the program and I know there are still things that can be improved. And there are users asking for more functionality. So again: apologies for leaving it in this state where some users stumble on serious bugs or not completed functionality, but at the same time in a state where most users can easily and comfortably use it.

If someone wants to take over, please let me know and I give full access to the repository. It is 100% open source anyway. Or you simply fork it and continue it in your own way.



multi platform jExifToolGUI jExifToolGUI is a java/Swing program for Windows/Linux/macOS that functions as a graphical frontend (GUI) for exiftool.

jExifToolGUI is (just) a graphical frontend for ExifTool. It can use a "reference" image to write the tags to a multiple set of photos, like GPS tags for photos taken at the same location but somehow miss or contain incorrect GPS info.
jExifToolGUI also contains extensive renaming functionality based on the Exif info in your photos.

ExifTool is a platform-independent Perl command-line application and library for reading, writing and editing metadata in a wide variety of files.
Many thanks go to Phil Harvey for his excellent tool. Without ExifTool, this graphical frontend for ExifTool would never have existed.
Exiftool is by far the best and most extensive metadata tool available!
It reads and writes metadata information from/to many files, but primarily focuses on photos/images. It reads/writes EXIF, GPS, XMP, maker notes for many cameras, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, VRA Core 4, ISAD(G) and many, many more tags.
It can use a "reference" image to write the tags to a multiple set of photos or a complete directory containing photos.

Copylefted libre software. Use, study, change and share; with all, according to the GPLv3+ license.

Releases
Website.
English Online manual.
Spanish Online manual.
YouTube Instruction videos.
Hosted Weblate translation Translation status




jExifToolGUI is a remake of my own pyExifToolGUI (website).

Developers

The UI is designed with the GUI Designer from IntelliJ IDEA. Read readme-intelliJ.md

jexiftoolgui's People

Contributors

ahmadzairin avatar ahohnmyc avatar atalanttore avatar badlop avatar c-colloid avatar comradekingu avatar fnogcps avatar frankie-mceyes avatar frenzie avatar havalrent avatar hvdwolf avatar magnitudee avatar maxstepanyuk avatar mohammad-asiri avatar mohammada19 avatar mrtngrsbch avatar mt25cyb avatar poipoipoipoipoipoipoipoipoi avatar sal0max avatar sossw avatar stanpao avatar stevepiratex avatar sufti1323 avatar swissbite avatar the7thnightmare avatar v-jan avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jexiftoolgui's Issues

Using maven / gradle

I would consider using any build tool you like. Either maven or gradle.
Reasons: You may like to add some libraries to be used in run/build/development time without adding a large blob jar to your source.

Which libraries do I think should be used?

  • SLF4J to use a proper logging tool instead of System.out.println
  • JUnit as a testing framework

I'm more experienced in maven if I should help you in set up your project a maven like way.

relation image window and info window

Normal I would expect a one to one relation between the selected image in the image browser and the shown info in the info window.
When opening a folder the image browser is populated with the files/images. In my case the info window is populated with the info of the first image but that image is not accentuated.
When collecting several images in the image browser the info window is showing the info of the last selected image but more images are accentuated.
In both cases there's no one to one relation anymore.

George

Why enums Apple, Microsoft, Linux

Why are the enums OS_NAMES called Apple, Microsoft, Linux?

I understand the logic of enums, but are these names java standards?
To me they are illogical. The brand is Apple, the os_name os MacOS (not Mac OS/X anymore), the brandname is Microsoft and the os_name is Windows.

And to take this one step further: To me it would be logical to have for example Linux as one enum, with distributions as derived enums (same for windows with win8, win10, etc).

Edit Data tabs problems

Entry boxes for GPS data much bigger than needed, those for XMP/IPTC location are rather small, I suggest moving the buttons level to the GPS boxes.

Copying data from selected image clears boxes when a tag is not present in an image, and prevents "Copy Defaults" reloading boxes.

MacOS 10.15.7 - Install - Splash Screen then nothing

Hello... I am using a MacOS Pro with v10.15.7

  1. Installed ExifTool - checked in terminal windows, ExifTool works fine by command line.
  2. Downloaded and extracted jExifToolGUI-x86_64-macos-1.6.3-with_jre.dmg.zip
  3. Opened jExifToolGUI.app (Lets MacOS Security open the unapproved file)
  4. I see the application splash screen... then nothing. Just a flash and it closes...

It does not ask me for the location of ExifTool or anything config wise...
I don't have a Java 8.1.8 or newer package as I can't find a copy any more.
So... any suggestions?

Hidden data directory (GNU Linux)

Hi Devs,
Running jExifToolGUI, it creates two directories in the user's home, these directory I think should be "hidden" as standard GNU Linux. That is, preceded by the point.

Thanks!

Davide

GUI suggest

Hi,

Please consider unifying this tool ;-)

ScreenShot 2020-09-28 a las 18 26 50

If you have space problems, maybe you could use:
Files dropped on the app = loading

best, martin

java11 and up mentions "WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance."

First line on application startup: WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.

This is only a warning and has nothing to do with real performance. It is a strange log4j warning.
User @mrtngrsbch referred to this in issue #39

"Fixed" in 1.4.1 and above by adding the attributes["Multi-Release"] = "true" to the manifest in build.gradle.kts

Fail to run

Hi,
I'm trying to run the program but getting the error:
Error running 'All in jExifToolGUI': No junit.jar

What I've done is:

  1. downloaded the zip, unpacked it and opened with InteliJ IDEA Community
  2. InteliJ installed couple of things
  3. I changed the settings as in readme Goto: Settings -> Editor -> GUI Designer and set Generate GUI into: Java source code

Unfortunately it was not enough. What did I do wrong?

I use Ubuntu Linux 18.04 and
IntelliJ IDEA 2019.3.4 (Community Edition)
Build #IC-193.6911.18, built on March 17, 2020
Runtime version: 11.0.6+8-b520.43 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 5.3.0-45-generic
GC: ParNew, ConcurrentMarkSweep
Memory: 725M
Cores: 12
Registry:
Non-Bundled Plugins:

Export CSV to file

[minor feature]
Is it possible to export the CSV to a file?

ScreenShot 2020-08-12 a las 08 36 32

ScreenShot 2020-08-12 a las 08 36 45

[Screenshots made in CentOS 7, but same issue in OSX]

{CentOS 7
jExifToolGUI 1.4.3
openjdk 14.0.2}

Best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.3
openjdk 11.0.8

Install jExifToolGUI with Homebrew (macOS)

When I install manually and drag the program-icon into my application-folder I am told by a start screen of jExifToolGUI that the PATH is not found and it would be better to install jExifToolGUI (?) with Homebrew.

As far as I can tell jExifToolGUI is not available via Homebrew? It would be great if it is.

images count [feature request]

HI,

I think it would be interesting to have an image counter... ;-)

ScreenShot 2020-09-19 a las 14 27 54

best,
Martin
OSX 10.15.5
jExifToolGUI 1.6.0-RC2
openjdk version "11.0.8"

Edit Data->Gpano layout

Position of "Cropped Area * Pixels" is not logical. Top should be in the column with Heights, Left should be with Widths.

Application errors at launch

When launching the app it gives many errors like these:
Screenshot_20200907_103544
Screenshot_20200907_103552
Screenshot_20200907_103557
Screenshot_20200907_103603
Screenshot_20200907_103608
Screenshot_20200907_103616
Screenshot_20200907_103623
Screenshot_20200907_103627
Screenshot_20200907_103631
Screenshot_20200907_103639
Screenshot_20200907_103647
Screenshot_20200907_103655
Screenshot_20200907_103705

Launching the app from terminal gives the repeated following error:
[AWT-EventQueue-0] ERROR o.h.j.controllers.SQLiteJDBC - [SQLITE_ERROR] SQL error or missing database (table CustomMetadatasetLines has no column named rowcount)

NB: Tested both on OpenJDK 11.0.8 and 14.0.2 with the same errors.

Operating System: Manjaro Linux
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
Kernel Version: 5.8.3-2-MANJARO
OS Type: 64-bit

Encountering 'bad' file stalls file loading indefinitely

I'm working with jExifToolGUI 1.5.2 and ExifTool 12.05 in Windows 10 1909.

Working with jExifToolGUI for the first time (and with the ExifTool backend for the first time, as well), I attempted to load my personal "wallpaper" directory. (All of the files in that directory are JPGs that load properly in IrfanView, and IrfanView hadn't flagged any of them as being a different filetype with the wrong file extension.)

Unfortunately, two of my files wouldn't load in jExifToolGUI. Whether I tried Load Directory or Load Images, as soon as the listing of loaded files reached one of the "bad" files, the loading process stalled indefinitely, with the progress indicator continuing to bounce back and forth.

Would there be a way for jExifToolGUI to skip recalcitrant files and continue with the rest of the load, compiling a separate list of files that couldn't be loaded along the way? That would be very helpful.

As for my "bad" files, I managed to fix them in IrfanView, one by adding an IPTC caption and resaving it, the other by saving it as a TIF and then resaving the TIF as a JPG. But I don't really understand what was wrong with them in the first place. Maybe some of their undisplayed or empty metadata placeholders were corrupted or something.

Still, today is the first time I've dipped my toes in the water with IPTC metadata and tags, and I gotta tell ya: I never would have done it without a GUI. My eyesight and typing accuracy just aren't good enough for the command line anymore. What I'm saying is: Pretty cool frontend! Many thanks to the developer!

Feature Request: Lock fields from being over-written

Ability to "lock" or prevent certain fields from ever being over-written. For instance, using jExifToolGUI to update missing lens information from an adapted lens means that I lose the Software string that Fuji uses to hold camera and firmware combination.

Suggested Fields for locking:
EXIF:
ProcessingSoftware
Software

XMP:
XMPToolkit
Software

Before updating lens:
image

After updating lens:
image

Using optional instead of null if there is no value

As an example on the user settings: We are currently using null for no value. But it would be better and less error-prone if we use the Optional Type, introduced in Java 1.8.

As an example, the preferences facade interface would then look like:

public interface IPreferencesFacade {
    enum PreferenceKey { /* ... */  }

    boolean keyIsSet(PreferenceKey key);

    Optional<String> getByKey(PreferenceKey key);
    String getByKey(PreferenceKey key, String defaultValue);
    boolean getByKey(PreferenceKey key, boolean defaultValue);
    void storeByKey(PreferenceKey key, String value);
    void storeByKey(PreferenceKey key, boolean value);

    IPreferencesFacade defaultInstance = PreferencesFacade.thisFacade;
}

The benefit: If null, it is an error. If empty or present, the Optional can be asked:

  @Override
    public Optional<String> getByKey(PreferenceKey key) { return Optional.ofNullable(rootNode.get(key.key, null));
    }

public boolean keyIsSet(PreferenceKey key) {
        return getByKey(key).isPresent();
    }

With this approach, null pointer exceptions (NPE) are a real issue and not just a value which was not thought about that it may not be present.

Preferences - Use namespace for preferences

Currently, user preferences are stored without prefix. For example, the preference key lastopenedfolder is a top-level property. So other applications may use the same keys and may provocate an unknown state of the application.

Solution design:

  • All property settings storage and retrieve should go to through a facade method. And the definition of the key should be defined via enums.
  • All keys are prefixed with either jExifToolGUI or with the complete package name. I prefer jExifToolGUI as the prefix.

Feature Request: ExifTool Direct Input

A feature from the now-deprecated ExifToolGUI that I've grown quite fond of is the Direct Input field, wherein you can directly paste exiftool parameters that will be written to the selected file(s) without any further ceremony.

A great aspect of this feature is that you can save a number of presets, greatly enhancing some more tedious aspects of metadata updating (manual lens information, for instance).

A final great aspect of this mode is that ONLY the parameters specified will be written, preventing concerns of over-written or updated fields that you don't intend to modify.

xmpexport missing ?

When I try to export XMP in XMP format I get the error:
Error: File not found - xmpexport

ScreenShot 2020-08-12 a las 07 59 49

ScreenShot 2020-08-12 a las 08 00 12

best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.3
openjdk 11.0.8

Translated versions

Hi,

Have you thought about giving support to other languages?
If you wish, I offer to collaborate with ES, FR translations

best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.0
openjdk version "11.0.8" 2020-07-14

Feature Request: File extension mask for "Open Folder"

I'd love to see a File Extension mask functionality for the "Open Folder" functionality, so that only the filetypes I'm interested in working with get loaded/parsed, despite being intermixed in a larger folder.

For instance, I'd love to only view "*.raf", as I will not be making use of the tool for JPG, MP4, or any other filetype.
Having an input field in the Preferences menu might serve for this option.

Question: Do you like some help?

Hi @hvdwolf
I just saw your new project using Java as the new Exif Tool GUI. First of all: Congratulations on your decision. It will be a lot of work to rewrite your old but good product.

My question is: Do you like some help/support? I'm a software engineer using Java / Kotlin all my day, and I could help you structure the project in a maintainable way. I'm sure, you are able to do it all by yourself, but if I could help to support you in a tool I like to use for myself, then I would like to participate.

I don't to just fork and make changes you would never approve, I would like to help you as good as I can to make this software useful and usable.

Strange Black menu when I run .app

Hi

  1. When I run 'jExifToolGUI.app', jExifToolGUI displays a strange black menu
    ScreenShot 2020-07-26 a la(s) 01 42 53

  2. When load images are not displayed in the window
    ScreenShot 2020-07-26 a la(s) 01 43 58

  3. This does NOT happen when I run '/Applications/jExifToolGUI.app/Contents/MacOS java -jar jExifToolGUI.jar &.'
    ScreenShot 2020-07-26 a la(s) 01 47 48

  4. But here I can see a 'warning'
    ScreenShot 2020-07-26 a la(s) 01 48 43

best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.0
openjdk version "11.0.8" 2020-07-14

Can't access removable volume in Catalina

Try to access photos stored in the removable disk. MacOS is 10.15.6. jExifToolGUI is 1.3.0.

I can't see any directory or files when I tried to load directory or images from the removable volume. I guess it is because Catalina doesn't allow access unless explicitly granted. So I went to the privacy/files and folders, the jExifToolGUI is not listed there although pyExifToolGUI is listed which I also have it.

In any way, we can make jExifToolGUI listed in the privacy setting as well so we can grant access to it?

Bug: Possible Path Resolution Issue

I think I'm running into a PATH resolution issue on my install when I try to read/write from the Lens Configuration database.

The first time I used the Lens Configuration function, I was able to add the parameters for my Celestron C90 MAK. After I saved that Favorite Lens out, I was not able to save/load any further lenses.

SQLiteStudio can read/access the jexiftoolgui.db just fine, and it passes the Integrity Check. The Lens profile is saved.
image

My Favorite Commands can also be loaded/saved just fine, as well, which is odd, since that means that jexiftool can successfully access the database.

Userdata is going into a username with multiple spaces in the path, like "C:\Users\User Full Name", which I think might be problematic, and the path to jexiftoolgui.exe itself is on another volume which also contains spaces, like "D:\Users\User Full Name\Desktop\Tools_Utils\exiftool"

I could be entirely wrong here, but I'm not certain how to tell.

Add manifest to the generated JAR

The last gradle configuration was not generating the MANIFEST file in the jar. This should be fixed, so that build/lib/*.jar has an included manifest.

Open image in (raw) viewer fails if path or file name contains spaces

Display image doesn't work on OSX?
ScreenShot 2020-07-27 a la(s) 17 24 34

I've tried all these paths
Preview.app
/System/Applications/Preview.app
/System/Applications/Preview.app/Contents/MacOS/Preview
/Applications/Adobe Bridge 2020

ScreenShot 2020-07-27 a la(s) 17 23 15

Also...
it's strange that I can' t select some applications, like XnViewMP.app
ScreenShot 2020-07-27 a la(s) 17 21 56

best,
Martin

OSX 10.15.5
jExifToolGUI 1.4.0
openjdk version 11.0.8

Using a proper logger instead of System.out.println

A proper logger can enable/disable logging levels. You are able to define the levels on certain stages. Later on, you would also be able to change the level on application startup time (or even on setting settings) so that issues can be logged, stored and transmitted.

Benefit: You'll always know where the log entry was generated on which timestamp. You'll never have to find out which log message comes from which line of code.

Benefit: It's easy to use, all you have to decide is on which level a log message should be thrown.

Setting Lang in Preferences

Hi,

Is it possible to add a language option in the preferences panel?

best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.2
openjdk 11.0.8

Load directory don't work on OSX

Hi,

When I import a directory I have no option to 'accept'. I also can't select the images

ScreenShot 2020-07-26 a la(s) 01 55 50

best,
Martin
OSX 10.15.5
jExifToolGUI 1.4.0
openjdk version "11.0.8" 2020-07-14

can't load pictures

Hi,
both "load directory" and "load images" buttons (also in menu "file") not opening file dialog i new version 1.5.0 (version 1.4.1 works OK).

I'm running it in java-14-jdk on Linux Manjaro.

Have a nice day

XMP Description field problem

Hi,

The "Description" field has no line return. Inserted text cannot be read or edited completely

ScreenShot 2020-07-24 a la(s) 15 28 55

best,
Martin
jExifToolGUI 1.3.0
OSX 10.15.5
Java 8 Update 261

arch linux

Hello, thank you for your job !
I want to customize packagedeb.sh so that it could be installed on arch linux.
I probably missed something, but in the line :
cp ../../build/libs/jExifToolGUI-all.jar ./jExifToolGUI.jar
I did not find where is the file
../../build/libs/jExifToolGUI-all.jar

In the source-tree, I do not see any directory named build/libs

Sorry if my question is very newbee…

Unable to open selector image interface (file manager)

Hi Devs!
I've just installed on Ubuntu 18.04, jexiftoolgui-1.6.3.deb, but seems imposible to list image file from "open Image"

Java version:

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

Error log:

(java:12397): GLib-GObject-WARNING **: 18:03:22.712: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'
18:03:36.159 [AWT-EventQueue-1] INFO  org.hvdw.jexiftoolgui.mainScreen - Selected: Load Images
Exception in thread "AWT-EventQueue-1" java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key stfio.loadimages
	at java.util.ResourceBundle.getObject(ResourceBundle.java:450)
	at java.util.ResourceBundle.getString(ResourceBundle.java:407)
	at org.hvdw.jexiftoolgui.controllers.StandardFileIO.getFileNamesAwt(StandardFileIO.java:220)
	at org.hvdw.jexiftoolgui.mainScreen.loadImages(mainScreen.java:497)
	at org.hvdw.jexiftoolgui.mainScreen$SpecialMenuActionListener.actionPerformed(mainScreen.java:2209)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at org.GNOME.Accessibility.AtkWrapper$6.dispatchEvent(AtkWrapper.java:715)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.