I've been looking all over the internet and Can't find an answer.
I'm using Eclipse and need to import JFrame from javax.swing. But hovering over the the declaration (which in Eclipse should give you an option to import it) the import option does not show up. Instead I manually typed out the import path, but get an error.
Going even further, I used the package explorer to attempt to fine it... couldn't. I have the latest version of Eclipse, and the Latest JRE and JDK. But still is not working.
Code:
package com.BickDev.Game;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Game extends Canvas implements Runnable {
private static final long serialVersionUID = 1L;
public static final int WIDTH = 320;
public static final int HEIGHT = WIDTH / 12 * 9;
public static final int SCALE = 2;
public final String TITLE = "Troy's Game Test";
private boolean running = false;
public void run() {
}
public static void main(String args[]) {
Game game = new Game();
Dimension size = new Dimension(WIDTH * SCALE, HEIGHT * SCALE);
game.setPreferredSize(size);
game.setMaximumSize(size);
game.setMinimumSize(size);
JFrame frame = new JFrame(game.TITLE);
}
}
the import javax.swing.JFrame now gives the error
Access restriction: The type JFrame is not accessible due to restriction on required library C:\ProgramFiles\Java\jre8\lib\rt.jar
No idea what this means...
Please help....
*UPDATE found the JFrame class.. but cannot access it.
swing. JFrame class is a type of container which inherits the java. awt. Frame class. JFrame works like the main window where components like labels, buttons, textfields are added to create a GUI.
Java Swing is said to be an old, deprecated technology to design desktop apps. However, there are easy ways to change this: add GUI testing, upgrade to a modern look and let the app be used from a browser.
Just add requires java.desktop;
to your module-info.java file.
module-info.java:
module your_project_name{
requires java.desktop;
}
When you make a new java project at JRE choose "Use an execution environment JRE and from there select JavaSE-1.7 or 1.8 and just should solve the problem. I had the same problem like you before.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With