Skip to content

Releases: javadraw/javadraw

javaDraw v1.3 | Input Changes & Bug Fixes

18 Oct 12:14
Compare
Choose a tag to compare

Hey all!

Just releasing a new version of javaDraw in response to some bug reports and a minor change to reflect pyDraw.

First off, in bug fixes:

  • Fixed CustomPolygon rendering issues
  • Fixed some key inputs

The major input changes are made to align with the new input system in pyDraw 2.0. The old argument format, which was: (int button, Location location) is now deprecated, but will still work.

Instead, please use (Location location, int button), or the new shorthand, (Location location) for if you do not require the mouse button.

If you wish to view the reasoning behind this change please view pyDraw's release.

That's pretty much all of the changes, thanks everyone!

javaDraw v1.2.1 | More Small Bug Fixes

08 Aug 19:24
Compare
Choose a tag to compare

Hello everyone!

This small patch is to fix a bug that was recently brought to my attention in the BlueJ IDE. It appears that the classpath is not configured properly and thus the Window opening mechanism that javaDraw normally uses does not work. This update contains new methods in the Window class to help counteract this.

If you are using BlueJ, rather than using the normal Window.open(), Window.open(int, int), and Window.open(int, int, String) methods, you should prepend the instance of the Window to them, like so:

import javadraw.*; // or javadraw.ap.*;

public class BasicProgram extends Window {
    
    public static void main(String[] args) {
        Window.open(new BasicProgram());
        // You could also use the other methods: Window.open(new BasicProgram(), 800, 600);
        // or Window.open(new BasicProgram(), 800, 600, "title");
    }
}

Hopefully this resolves any issues with the BlueJ IDE, and I'll be speaking with the team at BlueJ to try and figure out a better way to solve this for the future.

I also wanted to take this time to invite ya'll to join the official support channels for pyDraw and javaDraw, a Discord server that I've made for that purpose: https://discord.gg/eDJK54db

javaDraw v1.2 - Small Bug Fixes

29 Jul 15:58
Compare
Choose a tag to compare

Just fixed up some unnoticed bugs from earlier! Here we are.

javaDraw v1.1: Optimizations and Corrections

27 Jul 04:46
Compare
Choose a tag to compare

Hey ya'll!

This is my first update in a while, I've been fairly busy over the summer. I'll keep this brief for time's sake.

This update just fixes Triangles and Regular Polygons. That's it. They were bothering me and were a bit messed up so I went ahead and fixed those up.

That's pretty much it.

Happy Coding!

javaDraw v1.0

14 Jun 22:37
Compare
Choose a tag to compare

Welcome to the first official release of javaDraw, the Java-based sister-library to pyDraw, a Python based graphics library for learning.

This update brings about many features that exist in pyDraw, including rotation, Locations, Screen management, easy input, and more.

While I am working hard to bring javaDraw up to the level that pyDraw has reached, I have yet to be able to achieve that goal. There are several features of pyDraw that you may not find implemented in javaDraw.

Along with the version of javaDraw designed to be as synonymous as possible with pyDraw, I have also released a version I have dubbed the "AP Version". This version replaces the more modern and ambiguous method-style with the more traditional getters and setters for most methods.

The AP Version of javaDraw can be found below labelled as "javaDrawAP.jar". The documentation for the AP Version can be found at https://javadraw.graphics/ap/ (not to be mistaken for the normal documentation which is found at https://javadraw.graphics/api/).

Primary Features:

  • New and improved Window/Screen initialization, taking advantage of static methods. 🚀
  • Simple and easy-to-use input methods that can be registered as easily as defining the method in your Program's class. 🔤
  • Grids and Rulers to help you creative large and complex shapes and sceneries easily! 🖼️
  • Quick and easy Screen management, with a .contains() method built right in to check if an object is on the Screen! 🚄
  • And much much more!

Hope ya'll enjoy this library, and I hope to see more of you using the library!