[Blindmath] Using Java Draw2D in an SWT GUI

Carolyn MacLeod Carolyn_MacLeod at ca.ibm.com
Mon Feb 27 16:04:18 UTC 2012


Hi, Richard.

I guess the key word was "effectively" deprecated.
I didn't mean that they plan to put @deprecated on the classes - they say 
they won't, at least for the foreseeable future.
However Oracle's official JavaFX FAQ says that "JavaFX is replacing Swing 
as the new client UI library for Java SE", and I think that's pretty 
clear.
Here's that reference:
>> 6. Oracle's recommendation regarding AWT/Swing:
>> 
http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6

It won't happen tomorrow, or even next year.
But Oracle is working very hard on JavaFX, and Java developers are 
starting to take notice, and developers "vote with their feet", as it 
were.
It wouldn't hurt to keep an eye on it, maybe check out their graphics UI, 
play with the controls, try a few things.
But I don't think you want to switch yet, because no Mac until 2.1, no 
Linux until 2.2, and no accessibility until 3.0.

On a lighter note, have you noticed that software products don't seem to 
be "really good" until version 3.1? I swear it's true.  ;)
Version 1.0 is just to get it out there, 2.0 adds a bunch of major 
features but it's still quite buggy, 3.0 is feature complete but there are 
problems (often performance issues) that need to be fixed, and it takes 
that extra .1 to reach the tipping point where everybody adopts it.
So you might want to wait until 3.1 before you base a course on it.  :)

Carolyn




From:
Richard Baldwin <baldwin at dickbaldwin.com>
To:
BlindMath Mailing List <blindmath at nfbnet.org>, 
accessibleimage at freelists.org
Date:
02/25/2012 07:51 PM
Subject:
Re: [Blindmath] Using Java Draw2D in an SWT GUI
Sent by:
blindmath-bounces at nfbnet.org



Carolyn - you wrote: " AWT/Swing have interop with JavaFX, but they are
effectively deprecated,"

I have been unable to locate any information on the Oracle website about
the deprecation of AWT/Swing, and a number of posts on other websites
indicate that it is an unfounded rumor. If true, however, that is very
important information.

Can you please provide a reference to where you obtained this information?

Thanks,
Dick Baldwin

On Sat, Feb 25, 2012 at 5:35 PM, Richard Baldwin 
<baldwin at dickbaldwin.com>wrote:

> While it may be possible to force the large corporations to adhere to
> accessibility standards through threatened legal action, a large portion 
of
> the really useful software these days is developed and provided for free
> (or for a nominal charge) by independent programmers like myself who
> develop the software and give it away for free. Threaten these 
developers
> with legal action, and they will simply stop giving away good software.
>
> It is probably unrealistic to believe that anyone can create software
> development tools that will force independent software developers to
> produce accessible apps. Take for example, the DTD for XHTML 1.0
> Transitional. To be valid, an XHTML document must provide an "alt" field
> for every image. However, there is no way to require the author of the
> document to make the contents of the field meaningful. The easiest thing 
to
> do is to simply enter an empty string in the field. In other words, hit
> quote quote Enter on the alt field and the requirement is satisfied. I
> myself am guilty of having entered the string "Missing image" -- 
probably
> thousands of times given the number of documents containing images that 
I
> have published. While that satisfies the requirement, and is a little
> better than an empty string, it does little for accessibility.
>
> And by the way, let's not forget that largely inaccessible software is
> still being sold or provided for free within the blind community by
> companies whose existence depends on the blind community.
>
> While I don't have an answer to the problem of inaccessible software, it
> is clear that at least two factors will be required to cause a large
> percentage of software that is provided by independent developers to be
> accessible:
>
> 1. Persuasion
> 2. Ease of development
>
> Persuasion - Independent developers of the sort who populate SourceForge
> with free software and who sell cheap apps on the iPhone and Android
> platforms aren't likely to be influenced in a positive way by threatened
> legal action. Those developers are more likely to be influenced through
> persuasion. Again, threaten them and they will simply find other ways to
> spend their time.
>
> Ease of development - Before there will be any large-scale migration
> toward accessibility among independent developers, tools that create
> accessible software must be no more difficult to use and must require no
> more time and effort to use than the alternative tools that don't 
produce
> accessible software.
>
> There are many very capable blind programmers in the world. Perhaps 
those
> programmers should devote their efforts to the development of tools that
> will cause sighted independent programmers to be happy to make their 
free
> software accessible. At this point in history, such software doesn't 
exist,
> at least not in the Java world with which I am most familiar.
>
> Dick Baldwin
>
>
> On Sat, Feb 25, 2012 at 12:37 PM, John Gardner 
<john.gardner at orst.edu>wrote:
>
>> The iPhone is an excellent example of my point.  I have an iPhone and
>> admit
>> that
>> Apple has done a pretty good job of adding accessibility where it 
didn't
>> exist before.  Unfortunately very few app vendors have followed suit.
>> Better original design could have made accessible app programming more 
or
>> less automatic.  Now I have to rely on the good will of app makers and
>> most
>> don't even seem to know about accessibility.
>> John Gardner
>>
>>
>> -----Original Message-----
>> From: blindmath-bounces at nfbnet.org [mailto:blindmath-bounces at nfbnet.org
]
>> On
>> Behalf Of Keith Creasy
>> Sent: Saturday, February 25, 2012 4:05 AM
>> To: 'Blind Math list for those interested in mathematics'
>> Subject: Re: [Blindmath] Using Java Draw2D in an SWT GUI
>>
>> I'm there if there's anything I can do to help get accessibility right 
in
>> SWT or JavaFX. While it is sad that accessibility historically gets put 
in
>> as an afterthought it's even sadder that in every one of the cases you
>> cite
>> that it has generally been done badly or incompletely. Ken and I both 
have
>> recent experience with the very bad accessibility framework in Android.
>> They
>> may get it right eventually. Apple has done somewhat better but the
>> experience is still what I would term as tedious, especially on Mac OS.
>> It's
>> getting better but only slowly. Microsoft, well they were first to make
>> accessibility a part of the UI but dropped the ball at some point and 
are
>> now playing catch up. Gnome? Great ideas but the reality has fallen far
>> short of the vision.
>>
>> Every one of the efforts mentioned has included some excellent ideas 
and
>> it
>> should be possible now to use them and get it right at last. There are 
a
>> lot
>> of great blind programmers out there and some very savvy users. I'd
>> encourage Oracle and others in the Java community to enlist some of 
them
>> and
>> invest in making the vision a reality.
>>
>> One principle, and this is very important, is that efforts need to
>> continue
>> to make it more trouble for application developers to leave out
>> accessibility features than to include them. I'm not sure exactly how 
to
>> make this happen above what's already been tried but again, it is
>> important
>> because it is the usability of the apps and not the accessibility 
features
>> of the tool kit that is key.
>>
>> Off my soap box now. :)
>>
>> Keith
>>
>>
>> We need to be grateful that the effort is made at all and do what we 
can
>> to
>> encourage it to be done sooner in the development process and that it 
be
>> done right. One key aspect, and I don't know exactly how to do this, is
>> that
>> developers of UI tool kits need to make it more beneficial for 
application
>> developers to use the accessibility services than it is to work around
>> them.
>> Not a new thought I know but so far it seems like apps still come out 
with
>> UI's that somehow circumvent accessibility features.
>>
>>
>>
>>
>> -----Original Message-----
>> From: blindmath-bounces at nfbnet.org [mailto:blindmath-bounces at nfbnet.org
]
>> On
>> Behalf Of Ken Perry
>> Sent: Friday, February 24, 2012 9:32 PM
>> To: john.gardner at orst.edu; 'Blind Math list for those interested in
>> mathematics'
>> Subject: Re: [Blindmath] Using Java Draw2D in an SWT GUI
>>
>> Well while I agree with you on one hand I have to point out IPhones did
>> not
>> have accessibility till version IOS 3 and people seem to forget that 
when
>> they scream about Android and Windows phones.  They seem to forget that
>> Mac
>> operating system didn't build in access till version 10 pretty much. So
>> Let's dial back the rederict that it can't be built in and work with 
them
>> to
>> make sure it is built in right.  I feel your pain but I also understand
>> that
>> the market doesn't always allow what we want to happen.  Even if better
>> planning would make this all easier for everyone.
>>
>> Note that we are in a new age where companies are starting to 
understand
>> that usability and accessibility makes their products better.  Maybe it
>> takes a couple of versions to get there but that is a far cry from how
>> long
>> it has taken in the past.  We are getting to the point that new 
software
>> comes out and it's just accessible that's great and it should be 
cheered
>> on
>> but maybe we need to work more with these companies than to set them to
>> the
>> torch.
>>
>> Just my dime.
>>
>> Ken
>>
>>
>> -----Original Message-----
>> From: blindmath-bounces at nfbnet.org [mailto:blindmath-bounces at nfbnet.org
]
>> On
>> Behalf Of John Gardner
>> Sent: Friday, February 24, 2012 12:25 PM
>> To: 'Blind Math list for those interested in mathematics'
>> Subject: Re: [Blindmath] Using Java Draw2D in an SWT GUI
>>
>> So JavaFX plans to "add accessibility" in version 3.  You can tell the
>> developers from me that there is no such thing as "adding 
accessibility".
>> Others have tried and failed.  Take PDF for example.  Either software 
is
>> developed to be accessible or it isn't.  This is just an insult, and
>> Oracle
>> should be punished severely.  Maybe they are not aware that both the
>> public
>> and the lawyers are now insisting that new electronic
>> information/softwaredevelopments be made accessible "if feasible". Well
>> it
>> is feasible.
>>
>> Do I sound angry?
>>
>> John Gardner
>>
>>
>> -----Original Message-----
>> From: blindmath-bounces at nfbnet.org [mailto:blindmath-bounces at nfbnet.org
]
>> On
>> Behalf Of Carolyn MacLeod
>> Sent: Friday, February 24, 2012 8:28 AM
>> To: Blind Math list for those interested in mathematics
>> Subject: Re: [Blindmath] Using Java Draw2D in an SWT GUI
>>
>> We created SWT because, at the time, Swing was years away from being
>> production-quality, and we needed to ship product.
>> I tripped over this 2002 post recently. It summarizes the climate of 
the
>> time:
>> http://www.mail-archive.com/jug-discussion@tucson-jug.org/msg00355.html
>> (I do not know who the "undisclosed source close to IBM" is, but much 
of
>> what he says seems accurate).
>> Please, I am not dredging up the past here to be inflammatory, merely 
to
>> help explain why there are things that I cannot fix.
>>
>> On the plus side, the designer of SWT is now working at Oracle, so 
future
>> interop will improve.
>> However, the improvements won't be in AWT/Swing - they will be in 
JavaFX.
>> Oracle recommends that, moving forward, people use JavaFX to build Java
>> GUIs.
>> The good news is that JavaFX is new, current, designed for both desktop
>> and
>> browser, has cool graphics, a whole bunch of groovy new controls, and 
all
>> controls can be css styled.
>> The bad news is that JavaFX is a whole new widget set, with its own 
event
>> model, layouts, and graphics system, and because it is new, some things
>> are
>> not yet implemented, like Mac and Linux support (coming in FX 2.1 and
>> 2.2),
>> and accessibility (promised in FX 3.0, which is currently due to ship
>> sometime around 2013Q4, if I am reading the roadmap correctly).
>> AWT/Swing have interop with JavaFX, but they are effectively 
deprecated,
>> and
>> the problems inherent in the Swing threading model make interop
>> complicated.
>> SWT and JavaFX both use the same threading model, and apparently SWT
>> embeds
>> nicely in JavaFX and vice-versa.
>>
>> So I think JavaFX might be the way you want to go, but it will be some
>> time
>> before it is fully accessible (I believe) because JavaFX controls are
>> custom
>> drawn, and all of the accessibility will need to be implemented from
>> scratch. I hope that they will fully integrate accessibility into 
JavaFX
>> and
>> ship it with the JDK... they have surely taken some lessons from the 
Swing
>> accessibility problems regarding the difficulty of installing the JAB.
>>
>> Here are some links:
>> 1. The JavaFX main page: http://javafx.com/ 2. The JavaFX API 
Reference:
>> http://docs.oracle.com/javafx/2.0/api/index.html
>> 3. An overview of the FX Controls:
>> http://docs.oracle.com/javafx/2.0/ui_controls/overview.htm
>> 4. A "Visual Effects" tutorial:
>> 
http://docs.oracle.com/javafx/2.0/visual_effects/jfxpub-visual_effects.htm
>> 5. A Transformations tutorial:
>>
>> 
http://docs.oracle.com/javafx/2.0/transformations/jfxpub-transformations.htm

>> 6. Oracle's recommendation regarding AWT/Swing:
>> 
http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6
>> 7. Accessibility is not yet in JavaFX:
>> 
https://forums.oracle.com/forums/thread.jspa?messageID=10167036&#10167036
>> 8. The roadmap for JavaFX, including a statement about accessibility
>> support:
>>
>> 
http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html

>> (I notice that they don't mention Linux accessibility on the roadmap. I
>> hope
>> that was just an accidental omission.) 9. JavaFX and SWT 
interoperability:
>>
>> 
http://docs.oracle.com/javafx/2.0/swt_interoperability/jfxpub-swt_interopera

>> bility.htm<
http://docs.oracle.com/javafx/2.0/swt_interoperability/jfxpub-swt_interoperability.htm
>
>> 10. An example of folks trying to convert AWT images to FX images, FYI:
>> https://forums.oracle.com/forums/thread.jspa?threadID=2236566
>>
>> Hope this is helpful,
>> Carolyn
>>
>>
>>
>> From:
>> Richard Baldwin <baldwin at dickbaldwin.com>
>> To:
>> Blind Math list for those interested in mathematics 
<blindmath at nfbnet.org
>> >
>> Date:
>> 23/02/2012 01:18 PM
>> Subject:
>> Re: [Blindmath] Using Java Draw2D in an SWT GUI Sent by:
>> blindmath-bounces at nfbnet.org
>>
>>
>>
>> Michael has provided the answer to your question about the JAB.
>>
>> I can create workarounds.
>>
>> I can write complex code to make things work that don't fit together 
like
>> they should.
>>
>> I can modify the code in textbooks to make it compatible with the SWT.
>>
>> I can modify the code in existing libraries to make them compatible 
with
>> the
>> SWT if the source code is available (which is what I am now being 
forced
>> to
>> do to provide GUI accessibity).
>>
>> However, the great promise of Java is the ability to use class 
libraries
>> written using standard Java libraries without a requirement to modify
>> those
>> libraries. IBM and SWT have succeeded in breaking that promise. 
Therefore,
>> IBM should have named their new product IBMJava (or maybe Java#) to 
make
>> it
>> clear that it is not Java. Once a naive programmer starts down the SWT
>> route, thinking that she is programming in Java, she has just excluded
>> most
>> of the promise of Java from her programming product.
>>
>> Being essentially incompatible with the JFrame class, the standard 
Image
>> class, and the standard Canvas class, to name just a few, IBM and SWT 
have
>> made it impossible to use most existing Java graphics libraries without
>> modification. The IBM versions of those classes aren't better, they are
>> simply different and incompatible with standard Java. And the SWT 
graphics
>> capability is, in my opinion, inferior to the Sun Graphic2D class.
>>
>> That might be a good product strategy for IBM, but it is definitely not
>> good
>> for the majority of Java programmers.
>>
>> Dick Baldwin
>>
>> On Thu, Feb 23, 2012 at 2:59 AM, Michael Whapples <mwhapples at aim.com>
>> wrote:
>>
>> > Regarding your question on how good or bad is the JAB. Personally I
>> > like the concept of the JAB from a development view, one full
>> > accessibility
>> API
>> > across all platforms, rather than one which maps to the native ones
>> > and
>> so
>> > has to cope with the differences of different platforms.
>> >
>> > However in practice as a user things seem to be simpler for SWT than
>> Java
>> > swing and JAB. I had some trouble getting the JAB working on a 
windows
>> > 7 64-bit system, not sure precisely what the issue was but the JAB
>> > only seemed to start working once I installed the 32-bit JVM,
>> > previously I
>> only
>> > had the 64-bit JVM installed. If the JAB does require the 32-bit JVM
>> > as well as the 64-bit JVM then all I can say is this fact is not
>> > documented anywhere. Even once the JAB is working the quality of
>> > accessibility can differ between platforms, Linux I probably would
>> > give the best rating,
>> on
>> > windows you can even notice some issues with relatively simple
>> applications
>> > such as MathTrax and on the Mac there are definitely issues (eg. the
>> file
>> > dialog for things like opening and saving files has issues on the 
Mac).
>> >
>> > In comparison SWT applications and certainly more sizable ones such 
as
>> > eclipse tend to just work straight out of the box. This is not to say
>> their
>> > always perfect but eclipse is mostly accessible and certainly most of
>> its
>> > functionality can be used by a blind user.
>> >
>> > Regarding your comment on reuse, may be accessibility is an example 
of
>> > what you say. By reusing the native OS controls SWT picks up the
>> > accessibility of those and the screen readers need not support 
another
>> > accessibility API as they do for swing.
>> >
>> > I think though Richard's comments on reuse related more to do with
>> non-UI
>> > parts of eclipse RCP/SWT and how they just don't work with normal
>> standard
>> > JDK implementations. I think image objects were an example of this.
>> > May
>> be
>> > there is advantages to the Eclipse project versions not found in the
>> > standard JDK classes.
>> >
>> >
>> > Michael Whapples
>> >
>> > -----Original Message----- From: Carolyn MacLeod
>> > Sent: Thursday, February 23, 2012 5:04 AM
>> >
>> > To: Blind Math list for those interested in mathematics
>> > Subject: Re: [Blindmath] Using Java Draw2D in an SWT GUI
>> >
>> > Hi again.
>> >
>> > Sorry to take so long to reply.
>> >
>> > JFrame is not an embeddable component, so SWT (or any other embeddor)
>> > can't embed JFrames.
>> > SWT_AWT.new_Frame() returns a subclass of EmbeddedFrame, which is a
>> > sibling of JFrame but it does not have a root pane.
>> > JApplet is embeddable and it has a root pane. Can you make do with a
>> > JApplet instead of a JFrame?
>> >
>> > I wrote another snippet for you (attached) that takes the root pane
>> > out
>> of
>> > a JFrame and sets it into a JApplet in an SWT GUI.
>> > Hopefully you could do something similar with a JFrame from your
>> > textbook's sample code.
>> > But this won't solve the whole problem, because the Swing controls
>> > from the JFrame still won't be accessible unless you have the JAB
>> > installed
>> and
>> > use an AT that works with it.
>> > (Question for you: Are Swing controls really that inaccessible? Is 
the
>> JAB
>> > hard to install? Don't AT usually work once the JAB is installed? I
>> don't
>> > know because I don't use Swing.)
>> >
>> > Regarding event integration, this article might be helpful:
>> > http://www.eclipse.org/**articles/Article-Swing-SWT-**
>> > Integration/index.html<
>> 
http://www.eclipse.org/articles/Article-Swing-SWT-Integration/index.html>
>> > The rule of thumb is to use SwingUtilities.invokeLater() and
>> > Display.asyncExec() to pass work from AWT/Swing to SWT and 
vice-versa.
>> > This article also discusses the tab traversal "glitch" that I tripped
>> over
>> > in the snippet I sent you earlier, and they show how to fix it in
>> > their example code.
>> >
>> >  I really do believe in the OOP concept of "reuse, don't reinvent,"
>> >>
>> > So do we, which is why we reused the OS controls instead of drawing
>> > our own.  :) We did talk about this with Sun in the beginning, but
>> > unfortunately it didn't work out.
>> >
>> > Also, I happened to trip over these other two snippets that 
manipulate
>> > BufferedImage and JAI TiledImage from within SWT.
>> > I am including them here in case they are helpful:
>> > https://bugs.eclipse.org/bugs/**show_bug.cgi?id=119363#c13<
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=119363#c13>
>> > https://bugs.eclipse.org/bugs/**show_bug.cgi?id=119363#c14<
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=119363#c14>
>> >
>> > Hope this helps,
>> > Carolyn
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > From:
>> > Richard Baldwin <baldwin at dickbaldwin.com>
>> > To:
>> > Blind Math list for those interested in mathematics
>> <blindmath at nfbnet.org>
>> > Date:
>> > 01/31/2012 01:30 PM
>> > Subject:
>> > Re: [Blindmath] Using Java Draw2D in an SWT GUI Sent by:
>> > blindmath-bounces at nfbnet.org
>> >
>> >
>> >
>> > Thanks for responding to my concerns. I will definitely take a look 
at
>> > your
>> > workabound and see how much it helps. Hopefully, I will be pleased 
with
>> > the
>> > results.
>> >
>> > I suspect, however, that simply providing compatibility at the AWT
>> Canvas
>> > level won't help much with my main concern. I already knew of one way 
to
>> > do
>> > that. I also already knew how to embed AWT Frame objects in an SWT
>> object.
>> > Unfortunately, I don't know how to easily integrate events fired by
>> those
>> > AWT components into the SWT event handling system and I don't know 
how
>> to
>> > embed Swing JFrame objects and/or their events in SWT objects.
>> >
>> > I know how to write new code that will play reasonably well with SWT.
>> That
>> > isn't my main concern. I really do believe in the OOP concept of 
"reuse,
>> > don't reinvent," and my main concern is the lack of compatibility of 
SWT
>> > with existing unmodified graphics libraries, which typically produce
>> > graphic outputs in Swing JFrame objects. Until we can successfully 
embed
>> > JFrame objects in SWT objects, and until we can easily integrate the
>> event
>> > handling mechanisms of the two systems, the use of those libraries
>> without
>> > modification of the libraries will probably be very difficult at best
>> and
>> > off limits at worst.
>> >
>> > Hopefully someone will prove me wrong on this.
>> >
>> > Dick Baldwin
>> >
>> > On Tue, Jan 31, 2012 at 11:03 AM, Carolyn MacLeod <
>> > Carolyn_MacLeod at ca.ibm.com> wrote:
>> >
>> >  Thank-you, Michael!
>> >> Carolyn
>> >>
>> >>
>> >>
>> >> From:
>> >> "Michael Whapples" <mwhapples at aim.com>
>> >> To:
>> >> "Blind Math list for those interested in mathematics"
>> >> <blindmath at nfbnet.org>
>> >> Date:
>> >> 31/01/2012 11:30 AM
>> >> Subject:
>> >> Re: [Blindmath] Using Java Draw2D in an SWT GUI
>> >> Sent by:
>> >> blindmath-bounces at nfbnet.org
>> >>
>> >>
>> >>
>> >> Hello,
>> >> Thanks for taking the time to do this. I know you have asked 
questions
>> >>
>> > on
>> >
>> >> the orca-list about improving accessibility in SWT and eclipse and 
its
>> >> certainly appreciated. In my oppinion SWT is one of the few, if not 
the
>> >> best, GUI toolkits for making accessible applications which are also
>> >> cross-platform.
>> >>
>> >> Regards
>> >>
>> >> Michael whapples
>> >>
>> >> -----Original Message-----
>> >> From: Carolyn MacLeod
>> >> Sent: Tuesday, January 31, 2012 4:09 PM
>> >> To: blindmath at nfbnet.org
>> >> Subject: [Blindmath] Using Java Draw2D in an SWT GUI
>> >>
>> >> Hello, list.
>> >>
>> >> My name is Carolyn and I am on the Eclipse SWT Team.
>> >> I am the developer responsible for SWT Accessibility.
>> >>
>> >> Ken Perry of Blinksoft asked me if I could help with an issue 
brought
>> up
>> >> by Richard Baldwin regarding SWT being accessible but largely
>> >>
>> > incompatible
>> >
>> >> with Swing/AWT.
>> >> I read several posts similar to this one:
>> >>
>> >>
>> >>  http://host.nfbnet.org/**pipermail/blindmath_nfbnet.**
>> > org/2012-January/004693.html<
>>
>> 
http://host.nfbnet.org/pipermail/blindmath_nfbnet.org/2012-January/004693.ht

>> ml<
http://host.nfbnet.org/pipermail/blindmath_nfbnet.org/2012-January/004693.html
>
>> >
>> >
>> >
>> >>
>> >> I wrote an SWT Snippet that I hope you will find useful:
>> >>
>> >>
>> >>  http://git.eclipse.org/c/**platform/eclipse.platform.swt.**
>> > git/tree/examples/org.eclipse.**swt.snippets/src/org/eclipse/**
>> > swt/snippets/Snippet361.java<
>>
>> 
http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org

>> .eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet361.java
>> >
>> >
>> >
>> >> It shows how to host an AWT Canvas inside an SWT GUI, and use the 
GUI
>> to
>> >> initiate Java2D operations within the Canvas.
>> >> I randomly chose rotation and translation of the image, but you 
should
>> >>
>> > be
>> >
>> >> able to modify the snippet to do whatever Java2D operations you are
>> >> teaching.
>> >> The "Print Image" button uses SWT to take a screen snapshot of the
>> >>
>> > Canvas
>> >
>> >> and print it to a printer.
>> >> I had not heard of a printer that embosses images before, and I 
think
>> >>
>> > that
>> >
>> >> is really cool!
>> >>
>> >> I tried this snippet on Windows (XP) with JAWS (13) and on Mac OSX
>> >> (Leopard) with VoiceOver, and on Linux (Ubuntu 10.04) with Orca and 
it
>> >> worked on all 3 platforms.
>> >> It should work with other platform versions and screen readers as 
well.
>> >> The only glitch I encountered was on Windows, if the user tabs into 
the
>> >> Canvas, they can't tab back out.
>> >> They need to use the button mnemonics to traverse out of the Canvas:
>> >>
>> > alt+o
>> >
>> >> for Open, alt+x and alt+y for translating X and Y, alt+r for Rotate,
>> and
>> >> alt+p for Print.
>> >> This was not an issue on Mac or Linux.
>> >>
>> >> I cannot solve the deeper issues, like making SWT and AWT graphics
>> >> interchangeable without performance penalties (there are technical
>> >> issues),
>> >> or improving SWT's graphics support to the level of Java2D or more 
(we
>> >>
>> > are
>> >
>> >> a very small and very busy team, and we simply do not have the
>> >>
>> > manpower).
>> >
>> >> Hopefully this snippet will give you a work-around that is both
>> >>
>> > accessible
>> >
>> >> and teaches the math you want to teach.
>> >>
>> >> Carolyn
>> >> ______________________________**_________________
>> >> Blindmath mailing list
>> >> Blindmath at nfbnet.org
>> >> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> >> To unsubscribe, change your list options or get your account info 
for
>> >> Blindmath:
>> >>
>> >>  http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > mwhapples%40aim.com<
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com
>> >
>> >
>> >>
>> >>
>> >>
>> >> ______________________________**_________________
>> >> Blindmath mailing list
>> >> Blindmath at nfbnet.org
>> >> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> >> To unsubscribe, change your list options or get your account info 
for
>> >> Blindmath:
>> >>
>> >>
>> >>  http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > carolyn_macleod%40ca.ibm.com<
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca
.
>> ibm.com<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca.ibm.com
>
>> >
>> >
>> >
>> >>
>> >>
>> >>
>> >> ______________________________**_________________
>> >> Blindmath mailing list
>> >> Blindmath at nfbnet.org
>> >> http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> >> To unsubscribe, change your list options or get your account info 
for
>> >> Blindmath:
>> >>
>> >>
>> >>  http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > baldwin%40dickbaldwin.com<
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin

>> .com<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin.com
>
>> >
>> >
>> >
>> >>
>> >
>> >
>> > --
>> > Richard G. Baldwin (Dick Baldwin)
>> > Home of Baldwin's on-line Java Tutorials
>> > http://www.DickBaldwin.com
>> >
>> > Professor of Computer Information Technology
>> > Austin Community College
>> > (512) 223-4758
>> > mailto:Baldwin at DickBaldwin.com
>> > http://www.austincc.edu/**baldwin/ <http://www.austincc.edu/baldwin/>
>> > ______________________________**_________________
>> > Blindmath mailing list
>> > Blindmath at nfbnet.org
>> > http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> > To unsubscribe, change your list options or get your account info for
>> > Blindmath:
>> > http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > carolyn_macleod%40ca.ibm.com<
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca
.
>> ibm.com<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca.ibm.com
>
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > ______________________________**_________________
>> > Blindmath mailing list
>> > Blindmath at nfbnet.org
>> > http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> > To unsubscribe, change your list options or get your account info for
>> > Blindmath:
>> > http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > mwhapples%40aim.com<
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/mwhapples%40aim.com
>> >
>> >
>> > ______________________________**_________________
>> > Blindmath mailing list
>> > Blindmath at nfbnet.org
>> > http://nfbnet.org/mailman/**listinfo/blindmath_nfbnet.org<
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org>
>> > To unsubscribe, change your list options or get your account info for
>> > Blindmath:
>> > http://nfbnet.org/mailman/**options/blindmath_nfbnet.org/**
>> > baldwin%40dickbaldwin.com<
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin

>> .com<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin.com
>
>> >
>> >
>>
>>
>>
>> --
>> Richard G. Baldwin (Dick Baldwin)
>> Home of Baldwin's on-line Java Tutorials
>> http://www.DickBaldwin.com
>>
>> Professor of Computer Information Technology
>> Austin Community College
>> (512) 223-4758
>> mailto:Baldwin at DickBaldwin.com
>> http://www.austincc.edu/baldwin/
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca
.
>> ibm.com<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca.ibm.com
>
>>
>>
>>
>>
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/john.gardner%40orst.e

>> du
>>
>>
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/kperry%40blinksoft.co

>> m<
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/kperry%40blinksoft.com
>
>>
>>
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/keith537%40iglou.com

>>
>>
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/john.gardner%40orst.e

>> du
>>
>>
>> _______________________________________________
>> Blindmath mailing list
>> Blindmath at nfbnet.org
>> http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
>> To unsubscribe, change your list options or get your account info for
>> Blindmath:
>>
>> 
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/baldwin%40dickbaldwin.com

>>
>
>
>
> --
> Richard G. Baldwin (Dick Baldwin)
> Home of Baldwin's on-line Java Tutorials
> http://www.DickBaldwin.com
>
> Professor of Computer Information Technology
> Austin Community College
> (512) 223-4758
> mailto:Baldwin at DickBaldwin.com
> http://www.austincc.edu/baldwin/
>



-- 
Richard G. Baldwin (Dick Baldwin)
Home of Baldwin's on-line Java Tutorials
http://www.DickBaldwin.com

Professor of Computer Information Technology
Austin Community College
(512) 223-4758
mailto:Baldwin at DickBaldwin.com
http://www.austincc.edu/baldwin/
_______________________________________________
Blindmath mailing list
Blindmath at nfbnet.org
http://nfbnet.org/mailman/listinfo/blindmath_nfbnet.org
To unsubscribe, change your list options or get your account info for 
Blindmath:
http://nfbnet.org/mailman/options/blindmath_nfbnet.org/carolyn_macleod%40ca.ibm.com







More information about the BlindMath mailing list