BNWF / JAVA / 01
Java for teens
Objects first, then whole programs.
Open the syllabusUnited States · Grades 9 to 12 and college · BlueJ
BlueJ is built for beginners, and most of the time it is pleasantly simple: draw classes, compile, right-click to make objects. So when it refuses to open, grays out its buttons, or runs a program that seems to do nothing at all, students tend to assume they broke something. Usually they did not. The BlueJ team publishes a frequently asked questions page that covers nearly every one of these failures, and the causes are few: a missing or mismatched Java kit, a firewall blocking BlueJ’s two halves from talking, a class that has not been compiled yet, or a program quietly waiting for input. This page puts those fixes in the order that solves problems fastest.
Live teaching since 2020 · 10,000+ students · Java in BlueJ or any editor
In short
Most BlueJ problems have four causes, all covered in the official BlueJ FAQ: no Java kit found (reinstall BlueJ with its bundled JDK), a firewall or proxy blocking BlueJ’s local connection, a class that is not compiled yet (grayed options), or a program waiting silently for keyboard input in the terminal. Check them in that order. Modern Age Coders teaches this live online for US students, in a batch or one to one, and the first class is free.
Learn it with a teacher
BlueJ is a fine place to learn objects. These courses take that understanding further, live.

BNWF / 01
Ages 13 to 18. Classes, objects and methods, then real programs.
Open the syllabus →
BNWF / 02
Class design, ArrayList and 2D arrays the way the exam asks for them.
Open the syllabus →
BNWF / 03
From the object bench to full applications.
Open the syllabus →Find your symptom
Every row is an entry in the official BlueJ FAQ. Find the line that matches your screen, then read the fuller explanation further down.
| What you see | What the FAQ says causes it | What to do |
|---|---|---|
| “BlueJ could not find any Java systems. A JDK must be installed to run BlueJ.” | No Java development kit was found | Reinstall BlueJ from bluej.org; the FAQ says most installers now ship with the correct JDK included |
| “Bluej was unable to create a virtual machine (VM) to execute projects” | Usually firewall software blocking BlueJ’s local connection; on Windows, also accented or non-English characters in the project path | Allow traffic on 127.0.0.1 for BlueJ, or move the project to a plain folder name |
| “The New Class and Compile buttons are greyed out” | No project is open | Use Open Project or New Project from the Project menu |
| Right-click shows Inspect grayed out, no way to make objects | The class has not been compiled | Compile the class, then right-click it again |
| The program runs forever and nothing happens | It is waiting for input it asked for | Open the terminal from the View menu, type the input, press Enter |
| On a Mac, “Creating object...” never finishes | A network proxy affecting BlueJ’s local sockets | Add localhost to the bypass list in the Mac’s network proxy settings |
| On a Mac, the splash screen or main window never appears | A Java bug affecting some macOS systems | Open Font Book and choose Restore standard fonts from the File menu |
| The window is in the taskbar but not on screen | It opened on a second monitor that is no longer connected | Move the window back to the visible screen area |
The FAQ explains that BlueJ actually runs two Java virtual machines: one for BlueJ itself and one for your code. When you create an object, it lives in the second one, and the two talk over a network connection inside your own computer.
That design is what makes the object bench possible, and it is also why a strict firewall or a school proxy can break BlueJ even though nothing ever leaves the machine. The FAQ says communication must be allowed when both source and destination are 127.0.0.1, the loopback address.
Many US districts manage student laptops centrally, so you cannot change the firewall yourself. If the virtual machine error appears on a managed machine, show the FAQ entry to your teacher or the school IT team; the fix belongs to whoever manages the device.
For Macs managed by a school, the FAQ lists the BlueJ components that must also be authorized in the management profile, which is again an IT task rather than a student one.
Source: BlueJ Frequently Asked Questions, read 17 October 2026. We are not connected with the BlueJ project.
Install or reinstall
Half of all BlueJ problems disappear with a clean install of the current version, because the installer brings its own Java with it. Here is what bluej.org lists.
| System | Requirement listed | Also offered |
|---|---|---|
| Windows | 64-bit Windows, Windows 8 or later | A standalone zip suitable for USB drives |
| macOS | macOS 11 or later | A separate version for Macs with Intel processors (2021 and earlier) |
| Ubuntu or Debian | 64-bit Intel, Debian 11 or Ubuntu 20.04 or later | A version for ARM64, for example Raspberry Pi |
| 32-bit systems | Not supported by current versions | BlueJ 4.1.4 |
Yes. The BlueJ home page calls it a free Java Development Environment designed for beginners, and it is published under the GNU General Public License version 2 with the Classpath Exception. The source code is public.
The FAQ adds that BlueJ sends a little anonymous information, such as the BlueJ and Java versions and the operating system, to help plan development, and that a bluej.uid=private setting switches it off.
The download lists on the version history page give different minimums for the same 6.0.x installers (they mention Windows 7 and macOS 10.12) than the home page does. We print the home page figures, which are the stricter ones; if your machine sits between the two, try the installer and see.
The 6.0.0 release on 1 July 2026 added Kotlin support for editing and running code. For a Java course that changes nothing; the 6.0.1 point release only added Kotlin class templates that were missing.
Sources: bluej.org and BlueJ version history, read 17 October 2026.
Frozen or silent
The BlueJ FAQ has an entry for a program that seems to run forever and do nothing. Usually it is working perfectly and waiting for you. Here is a tiny example that does exactly that.
// Greeter.java (ours): looks frozen when run in BlueJ
import java.util.Scanner;
public class Greeter {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name = in.nextLine(); // waits here, silently
System.out.println("Hello, " + name);
}
}Ours. It compiles cleanly. Run from BlueJ, it sits at nextLine() waiting for a line of input, and because it prints nothing first, there is no sign that it wants anything.
The FAQ answers this one directly: if your program requests input, you must supply the input before the program can continue running; what is happening is that it is waiting, indefinitely, for the input it asked for.
You can open the terminal from the View menu and type into it, pressing Enter at the end, because the terminal input is line buffered.
The FAQ’s recommended solution is to print a prompt, such as “Please enter your name”, before reading input. Printing makes BlueJ open the terminal window automatically, so the program no longer looks frozen.
It is also simply better programming: anyone running your code, including a teacher grading it, can see what it expects.
// Greeter.java, fixed (ours)
import java.util.Scanner;
public class Greeter {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Your name: "); // prompt first
String name = in.nextLine();
// the form feed clears the BlueJ terminal
System.out.print('\u000C');
System.out.println("Hello, " + name);
System.out.println("Arguments: " + args.length);
}
}
Called from BlueJ with { "one", "two", "three" }
Your name: Ada
Hello, Ada
Arguments: 3Ours. We compiled and ran it with javac and java 22.0.1 from the command line, piping in Ada and passing three arguments, and checked that the form feed character the FAQ recommends was printed. In BlueJ you would call main with the array shown.
| Check | Why |
|---|---|
| Is the terminal window open? | Output goes to the terminal, which you can open from the View menu |
| Did the program print before it read input? | Printing opens the terminal automatically; reading alone does not |
| Is the window off screen? | After unplugging a second monitor, the terminal can open where you cannot see it |
| Are you on an old version? | BlueJ 5.5.0 fixed a bug where the terminal sometimes did not show exceptions if the error pane had not been visible |
Running main
BlueJ does not have a single Run button for main, which confuses students coming from other editors. The FAQ explains the BlueJ way.
BlueJ is designed around objects rather than whole programs. You can create an object from any compiled class and call its methods one at a time, without writing a main method at all, and inspect the values of its fields as you go.
For learning what a constructor does, or how two objects share data, that interactive object bench is genuinely useful, and it is the main reason teachers choose BlueJ for a first course.
If your class gives you a jar file, the FAQ lists three ways to add it: the Libraries tab in Preferences, the userlib folder inside the BlueJ installation, or a folder named +libs inside your project.
To experiment with a standard class such as String or java.awt.Point, the Tools menu has Use Library Class, which lets you create objects from it directly on the bench.
When nothing else works
If BlueJ misbehaves in a way none of the entries above describe, these steps work through the remaining causes, from the least to the most disruptive.
| System | Location the FAQ gives |
|---|---|
| Windows (the FAQ lists Vista, 7 and 8) | C:\Users\your-user-name\bluej\bluej.properties |
| macOS | /User/your-user-name/Library/Preferences/org.bluej/bluej.properties |
| Linux | your-home-directory/.bluej/bluej.properties |
BlueJ can share a project through Git. If team actions fail even though your GitHub password is right, the FAQ explains why: GitHub no longer allows account passwords for version control operations, and you need a Personal Access Token in the password field instead.
On a school network, a proxy can also block Git. The FAQ describes passing the proxy settings to BlueJ’s Java as -D options, which is again a job for the person who knows the network.
BlueJ reads two files: bluej.defs, installed with BlueJ for every user, and bluej.properties, which is yours. The FAQ notes that properties set in bluej.properties override those in bluej.defs.
So a student’s personal file can carry an old, broken setting even after a reinstall. That is why renaming bluej.properties is on the reset list.
BlueJ in a US course
BlueJ appears in many first Java courses in the US. Here is how it lines up with AP CSA, what College Board publishes about the exam, and how we handle graded work.
| If you need | BlueJ | A larger IDE such as Eclipse or IntelliJ IDEA |
|---|---|---|
| To see objects and call methods one by one | Built in: the object bench | Possible through a debugger, less direct |
| A simple screen for a first course | Yes, deliberately minimal | Many more panels and settings |
| To work on large, many-file programs | Workable, limited | Built for it |
| Its own Java bundled | The Windows and Mac downloads include a JDK | Varies by product |
| Cost | Free, open source | Free options exist |
AP Central lists Unit 3, Class Creation, at 10% to 18% of the multiple-choice weighting. Designing a class, writing its constructor and calling its methods is exactly what BlueJ’s object bench makes visible.
The exam itself is fully digital and taken in College Board’s Bluebook app, not in any IDE, so BlueJ is a place to learn and practice rather than the exam environment. See our AP Computer Science A classes for preparation.
When a BlueJ project is homework, our teachers do not write or fix it, and we never give answer keys. The teacher helps the student find which symptom row matches, and the student makes the change.
For a general method of finding bugs that works in any editor, see how to debug code. Students preparing for India’s ICSE board use BlueJ differently, and our ICSE BlueJ coaching page covers that course.
Sources: AP Computer Science A Course and Exam, AP Central, read 17 October 2026. AP is a trademark of College Board, which is not connected with us.
Growing with BlueJ
Where students usually are when BlueJ first goes wrong, and where they head next.
| Stage | What it looks like |
|---|---|
| 1. Setting up | Installing, opening a first project, wondering why buttons are gray |
| 2. On the bench | Creating objects by right-clicking and calling their methods |
| 3. Writing programs | Using main, the terminal and input with a clear prompt |
| 4. Moving on | Ready for a larger IDE and many-file projects |
When BlueJ stops working, it is almost always the setup, not your child’s code or ability.
If the computer is a school device, the fix may need the school’s IT team, and that is normal.
Print a prompt before every input. It saves you and everyone who runs your code.
Compile first, then right-click. Most grayed-out menus are an uncompiled class.
The catalogue
Each one is a live course with the same teacher every week, taken in a group or alone.
BNWF / JAVA / 01
Objects first, then whole programs.
Open the syllabusBNWF / JAVA / 02
Classes, lists and arrays for the exam.
Open the syllabusBNWF / JAVA / 03
Thinking through a task before coding it.
Open the syllabusBNWF / NEXT / 01
Quick scripts and data, in fewer lines.
Open the syllabusBNWF / NEXT / 02
The broader AP course and its Create task.
Open the syllabusBNWF / NEXT / 03
Share BlueJ projects the proper way.
Open the syllabusBNWF / PRO / 01
The intro sequence and what follows it.
Open the syllabusBNWF / PRO / 02
Lists, trees and graphs in Java.
Open the syllabusBNWF / PRO / 03
A second systems language.
Open the syllabusHow lessons run
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekdays
After-school times across the US time zones.
Weekends
A weekly slot that leaves weekdays free.
1-on-1
Arranged around your class and test dates.
The same person every week.
We see your class diagram live.
Install and settings problems count too.
Your graded work stays your own.
Wherever in the US you study.
Fifteen to twenty learners, or one to one.
Student work
Built by learners who once had their own BlueJ troubles. More are on the student labs page.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
BlueJ is free and so is Java. The only cost is the live teaching, which is paid month by month in US dollars, with no long contract and no charge for stopping when a month is over.
Free first class
USD 0
no card required
Group batch
USD 100
a month, billed in US dollars
One to one
USD 150
a month, billed in US dollars
What families say
Google reviews from families, quoted exactly.
★★★★★
"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."
Ria Mukherjee
Parent
★★★★★
"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."
Samriddha Mondal
Student
★★★★★
"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."
Vansh Agarwal
Student
★★★★★
"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."
Sonam Oswal
Parent of Dhairya
★★★★★
"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."
Sonu Goyal
Parent
★★★★★
"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."
Ritu Kedia
Parent
Questions from students
The official BlueJ FAQ points to a few causes: no Java development kit found, firewall or proxy software blocking BlueJ's connection to its own second virtual machine, a class that has not been compiled, or a program waiting for input. Reinstalling the current BlueJ, which includes a JDK, fixes many cases.
It means no JDK was found, and the FAQ says a JDK must be installed to run BlueJ. The FAQ also says most BlueJ installers now ship with the correct JDK included, so downloading the current installer from bluej.org is the simplest fix.
The FAQ says firewall software is the usual cause. BlueJ needs to communicate when both source and destination are 127.0.0.1. On Windows, accented or non-English characters in the project path can also cause it, so move the project to a plain folder name.
Output appears in the terminal window, which you can open from the View menu. If the program reads input before printing anything, it can look frozen while it waits. Print a prompt first; the FAQ notes that printing opens the terminal automatically.
No project is open. The FAQ says to use Open Project or New Project from the Project menu first, after which you can create and compile classes.
Compile the class, right-click it in the class diagram and choose the main method. A dialog asks for the String array; leave it as { } for no arguments, or type something like { "one", "two", "three" } to pass three.
Yes. The BlueJ home page describes it as a free Java Development Environment designed for beginners, released under the GNU General Public License version 2 with the Classpath Exception.
The BlueJ home page lists downloads for 64-bit Windows, macOS and Debian or Ubuntu Linux, and says BlueJ requires a 64-bit operating system; for 32-bit systems it points to BlueJ 4.1.4. It lists no ChromeOS download.
No. We do not write or repair graded assignments or provide answer keys. A teacher helps you find the cause and teaches the idea behind it, so you can make the change yourself.
Weekdays or weekends, flexible. Choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
The first lesson is free. After that, teaching is paid monthly, and the fees section of this page shows the amount in US dollars.
Elsewhere on this site
More for US students learning Java.
Our hub for American students and families.
Finding mistakes in any language.
The teen Java course.
Live AP CSA preparation.
What happens when you create an object.
A first course from zero.
Eclipse for Java students: install, run, read errors, fix Java version and memory.
IntelliJ IDEA and PyCharm for students: free core, student license, setup fixes.
Set up VS Code for Python and Java, and fix the errors students hit.
Start here
Tell us what BlueJ is doing, or not doing, and which course you are taking. The teacher looks at your setup with you first, then moves on to the Java itself.
For a picture of a real lesson, see how we teach; every course on our course list has its syllabus published.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
All our classes are live online sessions with teachers who work from India; there is no campus near you to drop in on. The quickest way to reach us is WhatsApp.
A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.
Book a priority demo