Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am a veteran Delphi programmer working on my first real Android app. I am using Eclipse and Java as my development environment. The thing I miss the most of course is Delphi's VCL components and the associated IDE tools for design-time editing and code creation. Fortunately I am finding Eclipse to be one hell of an IDE with it's lush context sensitive help, deep auto-complete and code wizard facilities, and other niceties. This is a huge double treat since it is free. However, here is an example of something in the Eclipse/Java environment that will give a Delphi programmer pause. I will use the simple case of adding an "on-click" code stub for an OK button.


  • Drop button on a form
  • Double-click button on form and fill in the code that will fire when the button is clicked


  • Drop button on layout in the graphical XML file editor
  • Add the View.OnClickListener interface to the containing class's "implements" list if not there already. (Command+1 on Macs, Ctrl + 1 on PCs I believe).
  • Use Eclipse to automatically add the code stub for unimplemented methods needed to support the View.OnClickListener interface, thus creating the event handler function stub.
  • Find the stub and fill it in. However, if you have more than one possible click event source then you will need to inspect the View parameter to see which View element triggered the OnClick() event, thus requiring a case statement to handle multiple click event sources.

NOTE: I am relatively new to Eclipse/Java so if there is a much easier way of doing this please let me know.

Now that work flow isn't all that terrible, but again, that's just the simplest of use cases. Ratchet up the amount of extra work and thinking for a more complex component (aka widget) and the large number of properties/events it might have. It won't be long before you miss dearly the Delphi intelligent property editor and other designers. Eclipse tries to cover this ground by having an extensive list of properties in the menu that pops up when you right-click over a component/widget in the XML graphical layout editor. That's a huge and welcome assist but it's just not even close to the convenience of the Delphi IDE.

Let me be very clear. I absolutely am not ranting nor do I want to start a Delphi vs. Java ideology discussion. Android/Eclipse/Java is what it is and there is a lot that impresses me. What I want to know is what other Delphi programmers that made the switch to the Eclipse/Java IDE have done to make things more Delphi like, and not just to make component/widget event code creation easier but any programming task. For example:

  • Clever tips/tricks
  • Eclipse plugins you found
  • other ideas?

Any great blog posts or web resources on the topic are appreciated too.

-- roschler


migration rejected from Sep 28 at 15:18

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as too broad by MichaelT, durron597, Snowman, jwenting, Kilian Foth Sep 28 at 15:18

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Probably not a great alternative yet, but I was curious to see that the FreePascal/Lazarus open source Delphi clone has some investing effort to make it work properly on Android: (… ) FP/Lazarus isn't quite as polished as Delphi, but it's been making steady progress over the years at becoming an excellent Delphi clone. – Herbert Sitz Apr 22 '11 at 1:20
Sorry, just looked more closely at the link I left in previous comment and it doesn't appear to work with design-time visual controls like Delphi and FP/Lazarus usually do Instead it creates the controls at runtime and uses an eventhandler, perhaps similar to way Java forces you to do things already. – Herbert Sitz Apr 22 '11 at 1:33
"Let me be very clear. I absolutely am not ranting nor do I want to start a Delphi vs. Java ideology discussion. " then why do you frame your question like you do, and use a highly confrontational title? I used Delphi before using Java, and wouldn't want Java to be Delphi with another syntax. If I want to use Delphi, I use Delphi. – jwenting Apr 22 '11 at 6:28
If you want to use the same Eclipse autocomplete and other nice IDE features in Delphi, install CnWizards in your Delphi copy. You will never be the same! ;-) – EASI Jun 28 '13 at 18:39

1 Answer 1

up vote 6 down vote accepted

It sounds like you're looking for NetBeans, not eclipse. The Matisse GUI designer in NetBeans is much more like the "RAD" you're used to in Delphi. I found, for example that this goes only so far. In swing toolkit, there is no equivalent of even simple things like TImage. Instead, look for a tutorial on how to take a Label component, and load a picture into it. (You add a resource to your project and get the label to view it).

While swing allows "absolute positioning" (something you probably never thought about because it's just about the only thing most Delphi controls support fully), Swing mainly and primarily supports layout based UI designs.

There is a lot to learn when moving from Delphi or C# winForms, to the world of Java UI development. If you're using Eclipse, and SWT UI toolkit, I am not aware of anything even remotely similar to Delphi.

By the way, I dearly miss Delphi's designtime environment, no matter what else I try. There's really nothing else like it out there. If you're looking for a delphi-like experience for writing Android apps, well, you're going to be waiting even longer. Add Android's odd "activity based" application architecture, and the dual-mode development environment (native versus dalvik) and you have some pretty big hurdles for RAD tools to climb.

Thanks Warren. I'll stick with Eclipse for now due to the support the Android plug-in provides. Are you implying that Delphi's IDE is superior to C# too? I'd be sad to hear that since I'll be learning C# too someday and I was hoping that with Anders Hejlsberg on Microsoft's C# design time, I could look forward to a Delphi like experience. I hope I don't go to my grave with the idea that Delphi 6 Pro was the pinnacle of IDE development. It baffles me that someone can't duplicate it since it's there just waiting to be modeled/emulated/etc. – Robert Oschler Apr 21 '11 at 20:14
FYI: There is an Android plugin for NetBeans out there: – Dmitry Negoda Apr 21 '11 at 21:50
the closest I've seen to Delphi's visual designer for Java is IntelliJ's designer. But afaik it doesn't work for Android (to fully use it, it needs some specific Swing plugins). – jwenting Apr 22 '11 at 13:05
There are some nice things about Visual Studio, but I still don't think using it compares all that favorably to using RAD/Delphi. I particularly think MS fell down with the C# winforms technology (it's a stale piece of crap) and again, on WPF. It's a bleeding-edge tool, and you better get used to dealing with cut-and-paste-XML-snippets to get anything done in WPF. Unless you want to use Expression Blend and then, you are back to the days of "two tools" to write your XAML (vs builtins for some bits, and WPF designer via Expression Blend for others). – Warren P Apr 25 '11 at 21:25
Thanks Warren. I was afraid of that. Now I find myself wondering how hard it would be to create an Eclipse plug-in that at least allowed for graphical handling of event stubs creation with a property editor. Sigh. – Robert Oschler Apr 27 '11 at 5:34

protected by gnat Dec 18 '14 at 6:37

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.