Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

how do i call on a class with (graphics g)

lil programerlil programer Posts: 5Member
im trying to create the game mastermind and in my version, i split the many parts of my code into separate classes so it would be a
little easier to work with, several of my classes use g.drawstring for animation and positioning purposes,(got the idea from c++ gotoxy) but when i try to call some of these classes it gives me an (java.awt.Graphics) can not be applied to () error. what should i do?.

below is the mainmenu class i am trying to call and the mastermind class that is calling it.


~~~~~~~~~~~~~~~~~~~MAINMENU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


import java.awt.Graphics;
import javax.swing.*;
import java.awt.*;


public class mainmenu
{
public void mainmenu(Graphics g)

{
int Position=0;int row=0;

for(row=30;row>=0 ;row=row-1)
{
for( Position=20;Position>=0;Position=Position-57)
{ g.drawString("*********************************************************",row+0,0);

}
}


~~~~~~~~~~~~~~~~~~~~~~~~~~MASTERMIND~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



import java.awt.Graphics;
import java.util.Scanner;
import javax.swing.*;
import java.awt.*;
import java.util.Random;




public class MASTERMIND {




public static void mastermind ( String [] args){
Scanner reader = new Scanner(System.in);

/* like i said there are alot of parts to it */

starter s = new starter();
mainmenu m = new mainmenu();
window w = new window();
endscreen e = new endscreen();
endscreen2 q = new endscreen2();
easy x = new easy();
Easy_game_instructions k = new Easy_game_instructions();
Hard_game_instructions h = new Hard_game_instructions();
endcreditz p = new endcreditz();
instructionscreen i = new instructionscreen();
winningscreen b = new winningscreen();
easy_game y = new easy_game();
hard_game u = new hard_game();
quitpfz a = new quitpfz();




int userselection=0;

s.starter();

while ((userselection!=5))
{
m.mainmenu(); /*<=< THIS IS WHERE THE ERROR IS */

switch(userselection)
{
case 1:i.instructionscreen();break;
case 2:y.easy_game();break;
case 3:u.hard_game();break;
case 4:p.endcreditz();break;
case 5:b.winningscreen();
}

}

}
}

~~~~~~ any help would be greatly appreciated, thank you ~~~~~~~















Comments

  • dahliah_jamesdahliah_james Posts: 1Member
    huh,great job. thanks
  • silveredge52silveredge52 Posts: 198Member
    Hey,
    You have outlined an ambitious endeavor. My recommendations are not use the draw functions because their information is not preserved when a window component is automatically redrawn by the "system".

    I altered your program to show a simple window frame. However the program is not meant to be a template. GUI programming is pretty involved.

    My personal suggestion is to view a [link=http://forum.codecall.net/classes-code-snippets/10764-java-source-code-tic-tac-toe-game.html]TicTacToe program [/link](click on the link) that could provide many insights. I tried the version in the second post, it looked good just need to fix 1 line: public [color=Red]cl*** [/color]TicTacToe implements ActionListener {
    needs to be: public [color=Red]class[/color] TicTacToe implements ActionListener {

    A modified version of your original program is attached for download.

    regards, se52
Sign In or Register to comment.