Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Java Help > Re: Need some h...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 9 Topic 15986 of 16566
Post > Topic >>

Re: Need some help.....

by Knute Johnson <nospam@[EMAIL PROTECTED] > Apr 17, 2008 at 04:51 PM

TheBigPJ wrote:
> My problem is that it wont display the given image, can anyone tell me
> what thing ive done wrong or missed. I changed something and I cant
> remember what..... its going to be one thing that needs to be changed
> back :S
> 
> It only displays a small white box inside a JFrame that is the colour
> I want it to be.
> 
> theCAS_Engine works perfectly. Like I said I changed something last
> night and forgot to run it to check it worked and now it doesnt
> work :S
> 
> Thanks,
> Peter
> ------------------------------------------
> im****t javax.swing.*;
> im****t java.awt.*;
> im****t java.util.*;
> im****t java.awt.event.MouseListener;
> im****t java.awt.event.MouseEvent;
> 
> public class CAS_Interface extends JPanel implements MouseListener{
> 
>     CAS_Engine theCAS_Engine;
>     boolean running;
> 
>     public static void main(String[] args)
>     {
>  JFrame mainWindow = new JFrame("CASAT - Connect a Square on a
> Tesseract (Multiplayer)");
> 
>  JPanel content = new JPanel();
>  content.add(new CAS_Interface(), BorderLayout.WEST);
> 
>  mainWindow.setContentPane(content);
> 
>  mainWindow.getContentPane().setBackground(new Color(176,196,222));
>  mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>  mainWindow.setLocationRelativeTo(null);
>  mainWindow.pack();
>  mainWindow.setVisible(true);
>     }
> 
>     public void CAS_Interface()
>     {
>  setPreferredSize(new Dimension(600,471));
>  setBackground(new Color(173,216,230));
>  addMouseListener(this);
>  theCAS_Engine = new CAS_Engine();
>  running = true;
>  repaint();
>     }
> 
>     public void paintComponent(Graphics g)
>     {
>  super.paintComponent(g);
>  if (running) {
>  drawScreen((Graphics2D) g);
>  }
>     }
> 
>     public void drawScreen(Graphics2D g)
>     {
>  //Uses the game board as defined in the program specification
>  Image image = Toolkit.getDefaultToolkit().getImage("./map.png");
>  g.drawImage(image, 0,0,this);
> 
>  // Creates the custom buttons: "New Game", "Play AI", Enter Names,
>  // Change Colours and Leave Game
> 
>  // Start of custom buttons
>  g.setColor(new Color(0,191,255));
>  g.fillRect(450, 25, 150, 30);
>  g.fillRect(450, 405, 150, 30);
>  g.fillRect(450, 80, 150, 30);
>  g.fillRect(450, 135, 150, 30);
>  g.fillRect(450, 190, 150, 30);
> 
>  g.setColor(new Color(50,241,255));
>  g.drawRect(450, 25, 150, 30);
>  g.drawRect(450, 80, 150, 30);
>  g.drawRect(450, 135, 150, 30);
>  g.drawRect(450, 190, 150, 30);
>  g.drawRect(450, 405, 150, 30);
> 
>  g.setColor(new Color(0,0,205));
>  g.setFont(new Font("Times New Roman",Font.BOLD, 16));
>  g.drawString("New Game", 460, 45);
>  g.drawString("Play AI", 460, 100);
>  g.drawString("Enter Names", 460, 155);
>  g.drawString("Change Colours", 460, 210);
>  g.drawString("Leave Game", 460, 426);
>  //End of custom buttons
> 
> 
>  //This checks to see what moves have been made and by who
>  //start of procedure
>  for(int i = 1; i<17;i++)
>  {
>      System.out.println(theCAS_Engine.getSpotInformation(i));
>      if(! (theCAS_Engine.getSpotInformation(i) == 0))
>      {
>   //Find the colour of the player who choose that spot
>  
>
g.setColor(theCAS_Engine.getPlayersColor(theCAS_Engine.getSpotInformation(i)
> == 1 ));
> 
>   //Fill in the appropiate spot
>   if(i == 1)
>   {
>       g.fillOval(2,62,12,12);
>   }
>   else if(i == 2)
>   {
>       g.fillOval(250,4,12,12);
>   }
>   else if(i == 3)
>   {
>       g.fillOval(416,121,12,12);
>   }
>   else if(i == 4)
>   {
>       g.fillOval(124,213,12,12);
>   }
>   else if(i == 5)
>   {
>       g.fillOval(102,139,12,12);
>   }
>   else if(i == 6)
>   {
>       g.fillOval(223,106,12,12);
>   }
>   else if(i == 7)
>   {
>       g.fillOval(297,172,12,12);
>   }
>   else if(i == 8)
>   {
>       g.fillOval(166,213,12,12);
>   }
>   else if(i == 9)
>   {
>       g.fillOval(106,248,12,12);
>   }
>   else if(i == 10)
>   {
>       g.fillOval(222,212,12,12);
>   }
>   else if(i == 11)
>   {
>       g.fillOval(290,286,12,12);
>   }
>   else if(i == 12)
>   {
>       g.fillOval(168,329,12,12);
>   }
>   else if(i == 13)
>   {
>       g.fillOval(31,284,12,12);
>   }
>   else if(i == 14)
>   {
>       g.fillOval(245,214,12,12);
>   }
>   else if(i == 15)
>   {
>       g.fillOval(380,354,12,12);
>   }
>   else if(i == 16)
>   {
>       g.fillOval(137,455,12,12);
>   }
>      }
>  }
> 
>  //If the game is finished then display the winner
> 
>  //Start of game Finished
>  if(theCAS_Engine.getisTheGameFinished())
>  {
>      //Place a transparent blanket over the board
>      AlphaComposite ac =
> AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.5f);
>      g.setComposite(ac);
>      g.setColor(Color.blue);
>      g.fillRect(0,0,432,471);
> 
>      //Turn the transparency off for the displaying of the winner
> information
>      ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,1.0f);
>      g.setComposite(ac);
>      g.setColor(Color.green);
>      g.setFont(new Font("Times New Roman",Font.BOLD, 32));
>      g.drawString("Game Over", 150, 200);
> 
>   //Check who won and display there name in there colour
>   switch(theCAS_Engine.checkWon())
>   {
>       case 0:
>    g.drawString("No Winner!", 145, 250);
>    break;
>       case 1:
>    g.setColor(theCAS_Engine.getPlayersColor(true));
>    g.drawString(theCAS_Engine.getPlayersName(true) + " Wins!", 130,
> 250);
>    break;
>       case 2:
>    g.setColor(theCAS_Engine.getPlayersColor(false));
>    //Check if player 2 was the AI
>    if(theCAS_Engine.getisAIPlaying())
>    {
>        g.drawString("AI WINS!!!", 130, 250);
>    }
>    else
>    {
>        g.drawString(theCAS_Engine.getPlayersName(false) + " Wins!",
> 130, 250);
>    }
>   }
>   //End of Game Finished
>  }
> 
> }

Since all the code isn't here we can't compile it so it is very 
difficult to know what is actually causing your problem.  I can tell you 
this, that calling Toolkit.getImage() in the paintComponent() method is 
not a good idea.  Whether that can cause it to not draw I don't know. 
Speaking of that, createImage() is preferred over getImage() as 
getImage() causes the image to be cached.  If you are using a modern 
compiler, 1.4 or later, then you should use ImageIO class methods to 
load images.

I do have a question, why do you create a JPanel to add this JPanel to 
and set that panel as the content pane rather than just adding this 
JPanel to the JFrame?

-- 

Knute Johnson
email s/nospam/linux/

--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
      ------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access
 




 9 Posts in Topic:
Need some help.....
TheBigPJ <TheBigPJ@[EM  2008-04-17 09:36:46 
Re: Need some help.....
TheBigPJ <TheBigPJ@[EM  2008-04-17 09:38:52 
Re: Need some help.....
Knute Johnson <nospam@  2008-04-17 16:51:45 
Re: Need some help.....
Roedy Green <see_websi  2008-04-18 01:51:34 
Re: Need some help.....
Chase Preuninger <chas  2008-04-17 19:52:23 
Re: Need some help.....
Knute Johnson <nospam@  2008-04-17 20:35:38 
Re: Need some help.....
RedGrittyBrick <RedGri  2008-04-18 10:47:59 
Re: Need some help.....
TheBigPJ <TheBigPJ@[EM  2008-04-18 10:56:31 
Re: Need some help.....
Roedy Green <see_websi  2008-04-18 19:16:21 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 16:15:45 CST 2008.