Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (480)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (546)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Canvas isn't visible  (Read 428 times)
0 Members and 1 Guest are viewing this topic.
Offline SHC
« Posted 2013-01-25 07:01:59 »

To make the single codebase work as both applet and application, I extend my game from the applet class and add a canvas to it. Here's my game structure.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
public class MyGame extends JApplet implements Updateable, Runnable {

    private Canvas canvas = null;
    public static BufferStrategy buffer = null;

    // Start the game
   public final void start(){
        canvas = new Canvas();
        add(canvas);
        canvas.setIgnoreRepaint(true);
        canvas.requestFocus();
        canvas.createBufferStrategy(2);
        buffer = canvas.getBufferStrategy();
        // Finalize the VM
       System.gc();
        System.runFinalization();
        // Panel settings
       setFocusable(true);
        running = true;
        // Start the game loop in new thread
       Thread th = new Thread(this);
        th.start();
    }

}

And I render like this.

1  
2  
3  
4  
Graphics2D g = (Graphics2D)buffer.getDrawGraphics();
render(g);
g.dispose();
buffer.show();

It works as an applet perfectly. To make it work as an application, I added the same applet to a jframe.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
public static void main(String[] args){
    JFrame f = new JFrame("My Game");
    setUndecorated(true);
    setResizable(false);
    setSize(width, height);
    MyGame game = new MyGame();
    f.add(game);
    f.setVisible(true);
    game.start();
}


This code opens a window. The sounds are heard which indicates that the game is running but the canvas is invisible.

Thanks

Offline Phased
« Reply #1 - Posted 2013-01-25 07:12:13 »

I think your not actually adding canvas to the jframe, i think you would need to add game.canvas.

Not really sure, I have always extended canvas, and have not really touched JFrames and that in a while
Offline SHC
« Reply #2 - Posted 2013-01-25 07:16:30 »

The graphics are visible when I minimize and again opened the game. Also since I'm adding the canvas to the game and adding the game to the frame, why is it not visible?

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline 65K
« Reply #3 - Posted 2013-01-25 07:35:31 »

Try to add the canvas to the content pane of the JFrame.

Offline SHC
« Reply #4 - Posted 2013-01-25 09:25:29 »

Thanks 65K. It solved after adding the game (not the canvas) to the content pane. Do you know why it happened?

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

atombrot (20 views)
2014-08-19 09:29:53

Tekkerue (21 views)
2014-08-16 06:45:27

Tekkerue (21 views)
2014-08-16 06:22:17

Tekkerue (12 views)
2014-08-16 06:20:21

Tekkerue (19 views)
2014-08-16 06:12:11

Rayexar (55 views)
2014-08-11 02:49:23

BurntPizza (37 views)
2014-08-09 21:09:32

BurntPizza (27 views)
2014-08-08 02:01:56

Norakomi (35 views)
2014-08-06 19:49:38

BurntPizza (64 views)
2014-08-03 02:57:17
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!