GUI står för Graphical User Interface, ett grafiskt användargränssnitt. I den här guiden använder vi Swing från Javas java.desktop-modul. JFrame är fönstret och JPanel är komponenten som vi ritar spelet i.
Skapa fönstret på EDT
import javax.swing.*;
import java.awt.*;
public class WindowDemo {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JPanel panel = new JPanel() {
@Override protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("Hej från Java!", 30, 50);
}
};
panel.setPreferredSize(new Dimension(640, 640));
JFrame frame = new JFrame("Mitt fönster");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
});
}
}invokeLater schemalägger skapandet på Swings händelsetråd. pack anpassar fönstret efter innehållets önskade storlek; fönstrets kanter ingår alltså utöver panelens 640 × 640 pixlar.
Överskugga paintComponent för egen målning och anropa super.paintComponent först. repaint begär en framtida ommålning; det målar inte omedelbart och flera begäranden kan slås ihop. I spelet begär timern ommålning efter varje uppdatering. Swing hanterar dubbelbuffringen åt oss.