Kod, z którego korzystam:
import java.awt.*;
import javax.swing.JFrame;
public class FullScreenTest extends JFrame
{
public static void main(String[] args)
{
DisplayMode displayMode;
if (args.lenght == 3)
{
displayMode = new DisplayMode(
Integer.parseInt(args[0]),
Integer.parseInt(args[1]),
Integer.parseInt(args[2]),
DisplayMode.REFRESH_RATE_UNKOWN);
}
else
{
displayMode = new DisplayMode(1600, 900, 24, DisplayMode.REFRESH_RATE_UNKOWN);
}
FullScreenTest test = new FullScreenTest();
test.run(displayMode);
}
private static final long DEMO_TIME = 5000;
public void run(DisplayMode displayMode)
{
setBackground(Color.blue);
setForeground(Color.white);
setFont(newFont("Dialog", 0, 24));
SimpleScreenManager screen = new SimpleScreenManager();
try
{
screen.setFullScreen(displayMode, this);
try
{
Thread.sleep(DEMO_TIME);
}
catch (InterruptedException ex) { }
}
finally
{
screen.restoreScreen();
}
}
public void paint(Graphics g)
{
g.drawString("Hello, world!", 20, 50);
}
}
class SimpleScreenManager
{
private GraphicsDevice device;
public SimpleScreenManager()
{
GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = environment.getDefaultScreenDevice();
}
public void setFullScreen(DisplayMode displayMode, JFrame window)
{
window.setUndecorated(true);
window.setResizable(false);
device.setFullScreenWindow(window);
if (displayMode != null && device.isDisplayChangeSupported())
{
try
{
device.setDisplayMode(displayMode);
}
catch (IllegalArgumentException ex)
{
//ignorowanie
}
}
}
public Window getFullScreenWindow()
{
return device.getFullScreenWindow();
}
public void restoreScreen()
{
Window window = device.getFullScreenWindow();
if (window != null)
{
window.dispose();
}
device.setFullScreenWindow(null);
}
}
Co tu nie działa? Uczę się z książki "Java. Tworzenie gier" wydawnictwa Helion, na początku chciałem przerobić nieco kod, ale teraz jest on idealną kopią kodu z książki. Powinien on włączyć okno w trybie pełnoekranowym, wyświetlić napis "Hello, world!", a następnie po 5 sekundach zamknąć okno. Kompilator wywala takie błędy:
C:\Users\Norbert\Desktop\Inne\Programowanie\5z\work1>javac FullScreenTest.java
FullScreenTest.java:29: cannot resolve symbol
symbol : class DisplayMode
location: class FullScreenTest
public void run(DisplayMode displayMode)
^
FullScreenTest.java:67: cannot resolve symbol
symbol : class DisplayMode
location: class SimpleScreenManager
public void setFullScreen(DisplayMode displayMode, JFrame window)
^
FullScreenTest.java:8: cannot resolve symbol
symbol : class DisplayMode
location: class FullScreenTest
DisplayMode displayMode;
^
FullScreenTest.java:10: cannot resolve symbol
symbol : variable lenght
location: class java.lang.String[]
if (args.lenght == 3)
^
FullScreenTest.java:12: cannot resolve symbol
symbol : class DisplayMode
location: class FullScreenTest
displayMode = new DisplayMode(
^
FullScreenTest.java:16: cannot resolve symbol
symbol : variable DisplayMode
location: class FullScreenTest
DisplayMode.REFRESH_RATE_UNKOWN);
^
FullScreenTest.java:20: cannot resolve symbol
symbol : class DisplayMode
location: class FullScreenTest
displayMode = new DisplayMode(1600, 900, 24, DisplayMode
.REFRESH_RATE_UNKOWN);
^
FullScreenTest.java:20: cannot resolve symbol
symbol : variable DisplayMode
location: class FullScreenTest
displayMode = new DisplayMode(1600, 900, 24, DisplayMode
.REFRESH_RATE_UNKOWN);
^
FullScreenTest.java:33: cannot resolve symbol
symbol : method newFont (java.lang.String,int,int)
location: class FullScreenTest
setFont(newFont("Dialog", 0, 24));
^
FullScreenTest.java:69: cannot resolve symbol
symbol : method setUndecorated (boolean)
location: class javax.swing.JFrame
window.setUndecorated(true);
^
FullScreenTest.java:71: cannot resolve symbol
symbol : method setFullScreenWindow (javax.swing.JFrame)
location: class java.awt.GraphicsDevice
device.setFullScreenWindow(window);
^
FullScreenTest.java:72: cannot resolve symbol
symbol : method isDisplayChangeSupported ()
location: class java.awt.GraphicsDevice
if (displayMode != null && device.isDisplayChangeSupported())
^
FullScreenTest.java:87: cannot resolve symbol
symbol : method getFullScreenWindow ()
location: class java.awt.GraphicsDevice
return device.getFullScreenWindow();
^
FullScreenTest.java:92: cannot resolve symbol
symbol : method getFullScreenWindow ()
location: class java.awt.GraphicsDevice
Window window = device.getFullScreenWindow();
^
FullScreenTest.java:97: cannot resolve symbol
symbol : method setFullScreenWindow (<null>)
location: class java.awt.GraphicsDevice
device.setFullScreenWindow(null);
^
15 errors
konsola
i nie rozumiem co ma wersja konsoli w Windowsie do kompilatora...