Develop an Intelligent Code Completion in Java - java

I want to know if there is a way to write my own code completion in a java swing environment. I have a program and would like to provide hints for the user while he is typing. I am already giving them some hints through a popup menu. But, the problem is that it is in the way. It is a menu, so it does not feel as optional as eclipse's code completion. Do you know of a better way than a popup menu?
Thanks,

Get a look at RSyntaxTextArea. It supports code completion (with CTRL+SPACE), syntax highlighting, line numbering, bracket matching... much of the basic features you expect from a code editor component.

Related

Possible to configure IntelliJ to invoke SmartType code completion without using a shortcut?

Right now IntelliJ instantly pops-up a box with suggestions for code completion as I am typing. However the suggestions are just "basic", and not as "smart" as when I use the (Ctrl+Shift+Space) shortcut to invoke SmartType completion. Is there a way to configure IntelliJ to automatically invoke SmartType completion as I type?
It's not possible. No one asked for it, it provides only a few variants, it may suggest not what you want to write automatically and will produce unexpected results when completing automatically on space and dot.
Basic automatic completion is already designed to include smart variants at the top where possible.

How to put a text-interface based on system.out.print on a GUI? - JAVA -

I did a project for university (it is a personal implementation of Zork the Game). As asked I did it with a text interface, using system.out.print. Is there a way to "put the text interface in a GUI" ? I mean for example a simple window with 2 fields, one that displays text output and one for the text input by keyboard.
I downloaded windowsBuilder for eclipse but.. I dont know what to do! :(
Thanks!
Sure there is, just change the output stream for System class. Create a PrintStream that will write out your data to your swing components and then replace it in the System class to use it.
System.setOut(printStream);
If you're doing this for a text game, I'd recommend using a Glk library. Glk is a cross-platform windowing I/O system designed for text games. You may have to write a JNI interface since the libraries tend to be written in C: an existing project called GlkJNI is meant to work the other way around, so a C program can use a Java UI, but it might be helpful anyway.
For an example of how to create a GUI that does what you are asking, take a look at this article: http://www.comweb.nl/java/Console/Console.html
This does not use best practices for building a GUI, but for quick and dirty, it'll get you started. You really should read up on how to properly write a Swing application, though, if this is going to be something you are serious about.

Positioning new editors side by side

I'm working on an eclipse rcp application and want to avoid this effect when opening a new editor:
http://www.fotos-hochladen.net/stackededitorsfcpt3zoq.png
and want to achieve this effect programmatically:
http://www.fotos-hochladen.net/separareeditorsmv58nzua.png
Has anyone an idea how this can be achieved?
Thanks! :-)
As far as I can tell from reading the Eclipse Javadoc, your editors will always open as tabs. It's up to your users to drag and drop one of the editors, so the editors are side by side.
You can submit a request to the Eclipse organization for this feature, if you wish.
Yeah, it is possible, I did it once. Just take a look at the following example:
http://snippets.dzone.com/posts/show/6277
As I remember, the code will open editors, one on top of the other but the code can be easily adapted so that editors are opened side by side.
Just post here if it doesn't work and I'll help you with it :)
Oh, I almost forgot... there is no "legal" way to implement your feature so you will have to call "Discouraged access" code.
This is not available as a default behavior. It is a nice view for those of us with wide enough monitors but Eclipse leaves that choice to the user because most people who are using monitors that are < 22" do not want to see editors side-by-side.

.NET pop-up box terminology along with Java

I need to know a couple things.
What is the terminology for the pop-up box shown in this Image? (Not the text, but the actual box itself) This is with Visual Studios.
alt text http://www.freeimagehosting.net/uploads/16060e2a55.png
I need to do a project in Java and I heard that Eclipse has this pop-up box, but I cant seem to find it. Does anyone know where this option is? I was hoping maybe finding out the terminology of the box will help me find the option easier.
Is there a better IDE for java than Eclipse with this box included?
Thank you for the help.
This is IntelliSense, it's activated automatically, but can be invoked manually using Ctrl+Space.
Yes, Eclipse does have this as well. Press Ctrl+Space to bring it up (I don't think Eclipse does it manually - it's been a couple of months since I last used Eclispe so I may be wrong).
You might want to look into IntelliJ IDEA or Netbeans (the former over the latter). IMHO, Eclipse is the most powerful and represents best value for money :-)

AutoIndent in Eclipse possible?

I have been wracking my brain trying to figure this out. For the first time I used jEdit the other day and I was pleasantly surprised that it auto indented my code (meaning that I'd put in the following code:
int method () {
_ //<-- and it put me here automatically
I've tried to get the same thing working with eclipse but with no success. I got into the code formatter but I don't see how to make that happen.
Is it possible to do this? Also while I'm here, is there a such thing as a eclipse plugin that will allow you to search the methods and classes of the standard java library?
Thanks
Personally all I use for this is the format options Window->preferences under Java->Code Style ->Formatter.
I once took the time to tweek how I like my code to look like when I work and exported the whole thing. After that I just code without too much bother on what it looks like. When I find the code looks messy by pressing the combination ctrl+shift+f and the whole class becomes pretty again, comments and all.
After a while it pretty much became a reflex...
code code code
ctrl-s, ctrl-b (cause I disable auto build sometimes), ctrl-shift-f
code some more etc...
Once I got used to this I never really cared how it presented the code as i was typing because I knew it would look all pretty as soon as the loop/if/switch/method etc is finished
My clean eclipse install does this by default.
Have you changed any options? Make sure the file you are editing has the .java file extension. The preference options that control the typing automations are under Java -> Editor -> Typing in the Window -> Preferences menu.
Also, I find that the auto-indenting, and most of the other auto-complete functions of eclipse do not function well if the file I am editing has errors in it which prevent compilation. Make sure that your curly-braces are matched correctly, this is the main one that I've noticed blocks auto-indent.
Regarding searching through the standard Java libraries, use the Search -> Java.. menu option, and check the JRE libraries checkbox, then search away. You can also use the Hierarchy view to see how the classes relate. Also, in the Package and Project views you can expand the JRE System Library, and then expand rt.jar which holds pretty much all the standard Java pacakges.
Eclipse has always done this for me by default.
One really cool thing about eclipse is that you can search preference pages. Just right click and go to prefrences. Go to the "Window" menu, and click "Prefrences". Then at the top of the tree view there's a text box that says "type filter text". Replace that with "indent" and it should bring up the page where the indent option is.
Make sure that eclipse recognizes your file as a java file, that you're using the Java distribution, the latest version, etc.
Iv been trying to work around the eclipse indenting and other supposed features for years, and it seems that the bottom line is this ...
It only works for the programming style of the authors, so to use it you need to modify your style to comply.
This would be OK except that the authors of eclipse have some very strange ideas about common shortcut keys.
One horrid example is the search features, eg when did Ctrl+K become "Find Next occurrence" and why doesnt F3 or n work?
That all being said I use eclipse because if you have the time to wait around while it starts up - or never close it - and you can modify everything youve learned about using an editor - why why why - then it will certainly increase your efficiency.
Please note that there is a preference setting for indenting, it can be set for a project, a workspace, or globally, but no matter how you set it eclipse will still chuck tab characters in where you dont want them.
In fact its indent crazy, like it wants to indent everything, even if its already indented.
Like I said Iv been using it for years and it STILL drives me nuts with its random behavior.
Follow these steps for Eclipse:
Select all text: ctrl+A
Correct indentation: ctrl+I
You should check:
Hidden features/tricks for Eclipse?
What is your favorite hot-key in Eclipse?

Categories