- This topic has 6 replies, 2 voices, and was last updated 18 years, 1 month ago by Richly.
-
AuthorPosts
-
RichlyParticipantI have two repeatable problems using M4ME (designer tab):
1) Double clicking on an object, e.g., a label, shows the text but does not allow me to edit it. Similarly, if I click on the … at the end of the text field, the StringEditor appears with the text, but I cannot edit it. The only way I can edit the text is to type it directly in the text field in the Properties.
2) When I right-click on an object, one of three things happens:
a) very rarely: the pop-up menu appears as expected, and I can make a selection from it.
b) the first time I click on an object: the pop-up menu appears for much less than a second and then disappears.
c) each subsequent time I click on the object: a white rectangle shows up for much less than a second. If I then click on a different object, the behavior goes back to case b.Questions:
1) Is there a way to do things that are available from the pop-up menu without using the pop-up menu? For example, how can I group several objects (buttons, text fields, etc.) to have the same width? I need a work-around!
2) Does anyone have an idea what’s wrong with my system … maybe something I could tweak to make the pop-up menu reliable?I’m running MyEclipse 20060810-5.0.1-GA with the latest version of Matisse (downloaded yesterday) using Java 6 (beta 2) on a Windows 2000 platform.
Thanks,
Richard
Riyad KallaMemberRichard,
These are all caused by bugs in JDK 6 Beta 2 release. I would suggest either upgrading to Build 98 or later, or down grading to the latest 1.5.0 release.
RichlyParticipantThanks, but I’ve now downloaded and installed Java “1.6.0-rc-b99”, which I presume means that it’s build 99. There is no change in behavior – i.e., the same bugs appear. I have now tried this on two machines, one running W2K and the other running XP. Matisse on Netbeans, on the other hand, works as expected (and did with build 86) on both machines. In addition, the Code page, immediately after the Variable Name, includes the property Variable Modifiers, which defaults to private, but which I can change to <default> protected or public and add (via check boxes) static transient final and volatile. Changing the access modifier is very useful for a form with fields that need to be populated before being shown. I admit that a purist would prefer to use getters and setters — is there some convenient way to automate the creation of these for the fields that need them?
Thanks,
Richard
Riyad KallaMemberRichard,
When you get a chance, can you install JDK 1.5.0_08 (uncheck the JRE install portion to just have it install the JDK dirs) and then adjust your -vm flag on the command line to point to the JDK’s bin/javaw.exe executable and restart MyEclipse to see if it helps? (Also verify that the changes worked by checking Help > About > Configuraiton Details, scroll down about 2 pages to see the JDK that was picked up to run MyEclipse).I can’t reproduce this problem using JDK 1.4.2, 1.5.0 or Build 86 or 98 of JDK 6. So I think this is a configuration problem.
RichlyParticipantOK. I’ve installed JDK 1.5.0_08 and added a -vm flag pointing to its javaw.exe immediately after the eclpse.exe field on the command line. That seems to be the right place to put it, because JDK 1.5.0_08 shows up in the configuration, and the two pop-up problems disappear. So, apparently there is something about M4ME that doesn’t get along with Java 6.
However, even with JDK 1.5.0_08, M4ME does not show the Variable Modifiers that Matisse on NetBeans (“MNB”) shows on the Properties|Code page, so I can’t make the fields on the form accessible to other classes in the package. So we still have the question of how to either
(a) surface the Variable Modifiers feature — note that once I’ve set the property for a variable using MNB, M4ME seems to respect it. E.g., if I set the property to <default> using MNB, then the source code reads, e.g.,
javax.swing.JTextField zipEdt;
even after it’s regenerated in M4ME. But without that, it would read
private javax.swing.JTextField zipEdt;or
(b) automatically create getters and setters for the fields that have to be manipulated from another form before and after the form in question is visible.
Perhaps solutions to (b) are already well-known to other users – I feel that they ought to exist anyway for any variable – but I am relatively new to Eclipse and am unaware of them if they do exist.
Thanks for the successful work-around for the pop-up menus. Do you have any thoughts about the other issues?
– Richard
Riyad KallaMemberRichard,
You are correct that B is the preferred (“correct” some say) way to expose a value. You can right click on the source file, go down to Source then “Generate Getters and Settings”, in NetBeans this is called “Encapsulate Fields”. I don’t know how to trigger this automatically (meaning as soon as you create a var) though…Does this functionality fit the bill for you?
RichlyParticipantThanks. That’s just what I was looking for.
– Richard -
AuthorPosts