diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-03-01 16:32:56 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-03-01 16:49:48 +0100 |
| commit | 466dd14287dde6ac5afc6c90379590699dbc6dc9 (patch) | |
| tree | d1c038692059526781157a86599e7c5d5f2379fd /src | |
| parent | 122ef4d5d1d297467fe58d8ccf190b9661f300ca (diff) | |
| download | tdde30-466dd14287dde6ac5afc6c90379590699dbc6dc9.tar.gz | |
show image on startup
Diffstat (limited to 'src')
| -rw-r--r-- | src/se/liu/gusso230/tetris/Board.java | 4 | ||||
| -rw-r--r-- | src/se/liu/gusso230/tetris/ImageComponent.java | 18 | ||||
| -rw-r--r-- | src/se/liu/gusso230/tetris/TetrisComponent.java | 2 | ||||
| -rw-r--r-- | src/se/liu/gusso230/tetris/TetrisViewer.java | 14 |
4 files changed, 34 insertions, 4 deletions
diff --git a/src/se/liu/gusso230/tetris/Board.java b/src/se/liu/gusso230/tetris/Board.java index 9b423cf..d43d3a4 100644 --- a/src/se/liu/gusso230/tetris/Board.java +++ b/src/se/liu/gusso230/tetris/Board.java @@ -6,7 +6,8 @@ import java.util.Random; public class Board { private enum GameState { - RUNNING, GAME_OVER, + RUNNING, + GAME_OVER, } private GameState state = GameState.RUNNING; @@ -37,7 +38,6 @@ public class Board { } public void tick() { - System.out.println("tick"); if (state == GameState.RUNNING) { if (falling == null) { createFalling(); diff --git a/src/se/liu/gusso230/tetris/ImageComponent.java b/src/se/liu/gusso230/tetris/ImageComponent.java new file mode 100644 index 0000000..98a09f1 --- /dev/null +++ b/src/se/liu/gusso230/tetris/ImageComponent.java @@ -0,0 +1,18 @@ +package se.liu.gusso230.tetris; + +import javax.swing.*; +import java.awt.*; + +public class ImageComponent extends JComponent { + ImageIcon icon; + + public ImageComponent(String name) { + icon = new ImageIcon(ClassLoader.getSystemResource(name)); + } + + public void paintComponent(final Graphics g) { + final Graphics2D g2d = (Graphics2D) g; + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + icon.paintIcon(this, g, 0, 0); + } +} diff --git a/src/se/liu/gusso230/tetris/TetrisComponent.java b/src/se/liu/gusso230/tetris/TetrisComponent.java index f358e7a..2c10941 100644 --- a/src/se/liu/gusso230/tetris/TetrisComponent.java +++ b/src/se/liu/gusso230/tetris/TetrisComponent.java @@ -62,6 +62,8 @@ public class TetrisComponent extends JComponent implements BoardListener { g.fillRect(x * (TILE_SIZE + TILE_GAP), y * (TILE_SIZE + TILE_GAP), TILE_SIZE, TILE_SIZE); } } + + requestFocus(); } public Color getColor(int x, int y) { diff --git a/src/se/liu/gusso230/tetris/TetrisViewer.java b/src/se/liu/gusso230/tetris/TetrisViewer.java index 4139188..369991e 100644 --- a/src/se/liu/gusso230/tetris/TetrisViewer.java +++ b/src/se/liu/gusso230/tetris/TetrisViewer.java @@ -6,9 +6,11 @@ import java.awt.event.ActionEvent; public class TetrisViewer { private JMenuBar menuBar; + private ImageComponent imageComponent; private TetrisComponent tetrisComponent; public TetrisViewer(Board board) { + imageComponent = new ImageComponent("images/hello_world.png"); tetrisComponent = new TetrisComponent(board); board.addListener(tetrisComponent); } @@ -37,11 +39,19 @@ public class TetrisViewer { public void show() { JFrame frame = new JFrame("Tetris"); + frame.setJMenuBar(setupMenuBar()); frame.setLayout(new BorderLayout()); + frame.setVisible(true); + + frame.add(imageComponent, BorderLayout.CENTER); + frame.pack(); + try { + Thread.sleep(2000); + } catch (InterruptedException ignored) {} + + frame.remove(imageComponent); frame.add(tetrisComponent, BorderLayout.CENTER); - frame.setJMenuBar(setupMenuBar()); frame.pack(); - frame.setVisible(true); update(); } |
