Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 20 of 20

Thread: Tic Tac Toe ActionPerformed Issue

  1. #1
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Talking Tic Tac Toe ActionPerformed Issue

    Hey all,

    I'm currently in the process of making Tic Tac Toe, and most of it is working. The way I wrote it (Warning: It's written in a god-awful manage) is with
    9 buttons, with the a String called letter alternating between X and O, based on a boolean (switching every ActionPerformed). In the ActionPerformed
    section, there's a huge load of if statements accounting for every winning possibility (I know, not the best way to do it).

    I also have a boolean which makes sure that the button values are not null (So that it only checks the buttons when they have values). There is also
    another boolean called 'Win', initially set to false, but when the winning condition is met, it is said to true. When 'Win' is true, then a dialogue box pops up saying 'lettervalue' + "Wins!".

    The problem is that, although most of the winning combinations work, some of them do not, and the 'letterValue' stays as a blank string, so it just
    comes up as ' Wins!'. After a few hours of debugging, a friend of mine and I managed to figure out that the string was being set before the
    Action Performed, so it's reading the blank button.

    I've tried to fix it, but no luck, so I need some advice...

    The code is attached; any help would be appreciated.
    Attached Files Attached Files


  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Please post the code in the forum so all can see it.

    The problem is that, although most of the winning combinations work, some of them do not, and the 'letterValue' stays as a blank string,
    Can you show which combinations are failing?

  3. #3
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Norm View Post
    Please post the code in the forum so all can see it.


    Can you show which combinations are failing?

    Apologies, I'm new to this forum. The combinations that aren't working are:

    Row1Column1 + Row1Column2 + Row1Column3
    Row1Column3 + Row2Column3 + Row3Column3

    The Code (pardon the awfulness of how it's structured! )

     
    //Credit to: http://forum.codecall.net for inspiration
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
     
    public class TicTacToeMain extends Applet implements ActionListener
    {
     
    	boolean IfNull = true;
    	private JButton Row1Column1 = new JButton("");			//Column 1 
    	private JButton Row1Column2 = new JButton("");	
    	private JButton Row1Column3 = new JButton("");	
     
    	private JButton Row2Column1 = new JButton("");				//Column 2
    	private JButton Row2Column2 = new JButton("");	
    	private JButton Row2Column3 = new JButton("");	
     
    	private JButton Row3Column1 = new JButton("");				//Column 3
    	private JButton Row3Column2 = new JButton("");	
    	private JButton Row3Column3 = new JButton("");	
     
     
    	private JFrame MyWindow = new JFrame("Tic-Tac-Toe");
    	private boolean XTurn;
    	private boolean Win = false;
    	String WinnerString = "";
    	private boolean Tie = false;
     
    	private String letterValue = "";
     
    	public void init()
    	{
    		Color white = new Color(255,255,255);
    		MyWindow.setBackground(white);
    		MyWindow.setLayout(new GridLayout(4,3)); 
    		MyWindow.setSize(500,500);
    		MyWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		MyWindow.add(Row1Column1);
    		Row1Column1.addActionListener(this);
    		MyWindow.add(Row1Column2);
    		Row1Column2.addActionListener(this);
    		MyWindow.add(Row1Column3);
    		Row1Column3.addActionListener(this);
     
    		MyWindow.add(Row2Column1);
    		Row2Column1.addActionListener(this);
    		MyWindow.add(Row2Column2);
    		Row2Column2.addActionListener(this);
    		MyWindow.add(Row2Column3);
    		Row2Column3.addActionListener(this);
     
    		MyWindow.add(Row3Column1);
    		Row3Column1.addActionListener(this);
    		MyWindow.add(Row3Column2);
    		Row3Column2.addActionListener(this);
    		MyWindow.add(Row3Column3);
    		Row3Column3.addActionListener(this);
     
    		MyWindow.setVisible(true);
    		XTurn = true;
     
     
    	}
     
    	public void actionPerformed(ActionEvent e) 
    	{
     
    		System.out.println(Row2Column3.getText() + ".");
    		if(XTurn == true)
    		{
    			letterValue = "X";
    		}
    		else if(XTurn == false)
    		{
    			letterValue = "O";
    		}
     
    		if(e.getSource() == Row1Column1)
    		{
    			Row1Column1.setText(letterValue);
    			Row1Column1.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row1Column2)
    		{
    			Row1Column2.setText(letterValue);
    			Row1Column2.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row1Column3)
    		{
    			Row1Column3.setText(letterValue);
    			Row1Column3.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row2Column1)
    		{
    			Row2Column1.setText(letterValue);
    			Row2Column1.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row2Column2)
    		{
    			Row2Column2.setText(letterValue);
    			Row2Column2.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row2Column3)
    		{
    			Row2Column3.setText(letterValue);
    			Row2Column3.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row3Column1)
    		{
    			Row3Column1.setText(letterValue);
    			Row3Column1.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row3Column2)
    		{
    			Row3Column2.setText(letterValue);
    			Row3Column2.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
    		else if(e.getSource() == Row3Column3)
    		{
    			Row3Column3.setText(letterValue);
    			Row3Column3.setEnabled(false);
    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}
    		}
     
     
    		//Win Possibilities 
     
     
    		if(Row1Column1.getText() != "" && Row1Column2.getText() != "" && Row1Column3.getText() != "" 
    			|| Row2Column1.getText() != "" && Row2Column2.getText() != "" && Row2Column3.getText() != "" 
    				|| Row3Column1.getText() != "" && Row3Column2.getText() != "" && Row3Column3.getText() != ""
    					|| Row1Column1.getText() != "" && Row2Column2.getText() != "" && Row3Column3.getText() != ""
    						|| Row1Column3.getText() != "" && Row2Column3.getText() != "" && Row3Column3.getText() != ""
    							|| Row1Column2.getText() != "" && Row2Column2.getText() != "" && Row3Column2.getText() != ""
    								|| Row1Column3.getText() != "" && Row2Column2.getText() != "" && Row3Column1.getText() != ""
    									|| Row1Column1.getText() != "" && Row2Column1.getText() != "" && Row3Column1.getText() != ""
    										|| Row1Column3.getText() != "" && Row2Column2.getText() != "" && Row3Column1.getText() != ""
    											|| Row1Column3.getText() != "" && Row2Column3.getText() != "" && Row3Column3.getText() != ""
    												|| Row3Column1.getText() != "" && Row3Column2.getText() != "" && Row3Column3.getText() != "")
    		{
    			IfNull = false;
    		}
     
     
    		CheckForWin();
    		CheckForTrue();
    		CheckForTie();
     
     
    	}
     
     
    	public void CheckForTrue()
    	{
    		if(Win == true)
    		{
    			if(WinnerString == "")
    			{
    				JOptionPane.showMessageDialog(this, WinnerString + " Wins!" );
    			}
    			else
    			{
    				PopUpWin(WinnerString);			
    			}
     
    		}
    	}
    	//}
    	public void CheckForTie()
    	{
    		if(Tie == true)
    		{
    			JOptionPane.showMessageDialog(this, "It's a tie!");
    		}
    		else
    		{
     
    		}
    	}
    	public void CheckForWin()
    	{
    		if(Row1Column1.getText() == Row1Column2.getText()  && Row1Column2.getText() == Row1Column3.getText() && IfNull == false)	
    		{
    			WinnerString = Row1Column1.getText();
    			Win = true;
    		}
    		//
    		else if(Row2Column1.getText() == Row2Column2.getText() && Row2Column2.getText() == Row2Column3.getText() && IfNull == false)
    		{
    			WinnerString = Row2Column1.getText();
    			Win = true;
    		}
    		//
    		else if (Row3Column1.getText() == Row3Column2.getText() && Row3Column2.getText() == Row3Column3.getText() && IfNull == false)
    		{
    			WinnerString = Row3Column1.getText();
    			Win = true;
    		}
    		//
    		else if(Row1Column1.getText() == Row2Column1.getText() && Row2Column1.getText() == Row3Column1.getText() && IfNull == false)
    		{
    			WinnerString = Row1Column1.getText();
    			Win = true;
    		}	
    		//
    		else if(Row1Column1.getText() == Row2Column2.getText() && Row2Column2.getText() == Row3Column3.getText() && IfNull == false)
    		{
    			WinnerString = Row1Column1.getText();
    			Win = true;
    		}
    		//
    		else if(Row1Column2.getText() == Row2Column2.getText() && Row2Column2.getText() == Row3Column2.getText() && IfNull == false)
    		{
    			WinnerString = Row1Column2.getText();
    			Win = true;
    		}
    		else if(Row1Column3.getText() == Row2Column2.getText() && Row2Column2.getText() == Row3Column1.getText() && IfNull == false)
    		{
    			WinnerString = Row1Column3.getText();
    			Win = true;
    		}
    		else if(Row1Column3.getText() == Row2Column3.getText() && Row2Column3.getText() == Row3Column3.getText() && IfNull == false)
    		{
    			WinnerString = Row2Column3.getText();
    			Win = true;
    		}
    		else if (Row3Column1.getText() == Row3Column2.getText() && Row3Column2.getText() == Row3Column3.getText() && IfNull == false)
    		{
    			WinnerString = Row3Column1.getText();
    			Win = true;
    		}
     
    	}
    	public void PopUpWin(String i)
    	{
    		JOptionPane.showMessageDialog(this, i + " Wins!");
    	}
     
    }

  4. #4
    Grand Poobah
    Join Date
    Mar 2011
    Posts
    1,545
    My Mood
    Grumpy
    Thanks
    0
    Thanked 167 Times in 158 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Do not use == and != tp compare objects*. You should use the equals method instead.
    string.equals(string);
    ! string.equals(string);
    *That is true the majority of the time but there will be some occassions when you will need to compare objects using ==. Of the top of my head: in an actionPerformed method to see which button was clicked.
    Improving the world one idiot at a time!

  5. #5
    Think of me.... Mr.777's Avatar
    Join Date
    Mar 2011
    Location
    Pakistan
    Posts
    1,136
    My Mood
    Grumpy
    Thanks
    20
    Thanked 82 Times in 78 Posts
    Blog Entries
    1

    Default Re: Tic Tac Toe ActionPerformed Issue

    Huhhhhhhh... After a long time, i came to know that in this case;
    if(Row1Column1.getText() == Row1Column2.getText()  && Row1Column2.getText() == Row1Column3.getText() && IfNull == false)
    		{
                System.out.println('1');
    			WinnerString = Row1Column1.getText();
    			Win = true;
    		}
    as values don't match coz all have different values, so this by passes. But in the very next comparison that is;
    else if(Row2Column1.getText() == Row2Column2.getText() && Row2Column2.getText() == Row2Column3.getText() && IfNull == false)
    		{
                System.out.println('2');
    			WinnerString = Row2Column1.getText();
    			Win = true;
    		}
    Here all are null and this gets equal and prompts win.
    Advice: You must add && != null as well to make it progressive.

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    MyWindow.setDefaultCloseOperation(JFrame.EXIT_ON_C LOSE);
    AppletViewer complained with this one. Applets can not exit the JVM.
    Why use a separate JFrame instead of the Applet for displaying the board?

    			if(XTurn == true)
    			{
    				XTurn = false;
    			}
    			else if (XTurn == false)
    			{
    				XTurn = true;
    			}

    This repeated code for toggling the XTurn boolean could be done in one statement:
    XTurn = !XTurn; // toggle whose turn it is
    And it could be done ONCE at the end of the if/else if chain vs for every true condition since the enabling/disabling of the buttons keeps the logic good.

  7. #7
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Mr.777 View Post
    Huhhhhhhh... After a long time, i came to know that in this case;
    if(Row1Column1.getText() == Row1Column2.getText()  && Row1Column2.getText() == Row1Column3.getText() && IfNull == false)
    		{
                System.out.println('1');
    			WinnerString = Row1Column1.getText();
    			Win = true;
    		}
    as values don't match coz all have different values, so this by passes. But in the very next comparison that is;
    else if(Row2Column1.getText() == Row2Column2.getText() && Row2Column2.getText() == Row2Column3.getText() && IfNull == false)
    		{
                System.out.println('2');
    			WinnerString = Row2Column1.getText();
    			Win = true;
    		}
    Here all are null and this gets equal and prompts win.
    Advice: You must add && != null as well to make it progressive.


    Yes, I understand that the Applet ends up comparing blank strings, which is what initiates the 'Win' boolean, but I already tried to find my way
    around that with the 'IfNull' boolean at the end.

    Your advice to add '&& != null' is already present with the 'IfNull' boolean, which is set to false if the group of buttons is not null (see the code).

  8. #8
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Can you restate your problem at this point after you have made some program changes.

    Have you tried debugging your code by adding printlns to show the values of variables as the code is executing and to show the execution flow?

  9. #9
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Did you replace all your usage of == for String compares to use the equals() method?

  10. #10
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Norm View Post
    Did you replace all your usage of == for String compares to use the equals() method?
    Yes, I did change all of the string comparisons to '.equals()', but the same problem still persists, and there was no visible change. Sorry about this; it's difficult to explain the specific problem, especially when everything is written in the same way, yet has different behavior.

  11. #11
    Think of me.... Mr.777's Avatar
    Join Date
    Mar 2011
    Location
    Pakistan
    Posts
    1,136
    My Mood
    Grumpy
    Thanks
    20
    Thanked 82 Times in 78 Posts
    Blog Entries
    1

    Default Re: Tic Tac Toe ActionPerformed Issue

    And you know what, ifNull is false everytime......
    Last edited by Mr.777; August 13th, 2011 at 05:57 AM.

  12. #12
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    The problem is that, although most of the winning combinations work, some of them do not,
    Do you have a list of the combinations that do not work?
    Have you tried adding printlns that display the variables' values for those combinations to see where your logic problem is?

  13. #13
    Think of me.... Mr.777's Avatar
    Join Date
    Mar 2011
    Location
    Pakistan
    Posts
    1,136
    My Mood
    Grumpy
    Thanks
    20
    Thanked 82 Times in 78 Posts
    Blog Entries
    1

    Default Re: Tic Tac Toe ActionPerformed Issue

    Yeah i guess he told before, combinations are 1,2,3
    and one other, i don't remember.

  14. #14
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Since he's changed the code, I'll wait for the OP to say where the problems are now.

    Then I'll recommend that he add some printlns to print out the values of the variables that are used for the combinations that are not working so he can see where his logic is going wrong.

  15. #15
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Norm View Post
    Since he's changed the code, I'll wait for the OP to say where the problems are now.

    Then I'll recommend that he add some printlns to print out the values of the variables that are used for the combinations that are not working so he can see where his logic is going wrong.

    Thank you for all of these replies. Yes, the code has been changed a little, and I have tried using a println everytime the Applet reaches that button. The problem seems to be that ActionPerformed is processing the button as a blank string before it's actually changed. Meaning when I click on the button, and set the value to, say, X, the Applet prints a blank line. After another ActionPerformed, it prints the button as X. It should be printing the button value 'X' when it's actually changed to X, not after. Seems to be the timing of ActionPerformed.

    Any ideas?

  16. #16
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    The problem seems to be that ActionPerformed is processing the button as a blank string
    What is the relationship between the button and blank string?
    Meaning when I click on the button, and set the value to, say, X, the Applet prints a blank line
    Please post the code showing where this print is being done and where the value is set to X.
    I don't understand how that is happening. For example:

    String aString = "X";
    ...
    System.out.println("aString= " + aString); // this will print aString = X and not a blank

  17. #17
    Junior Member
    Join Date
    Jul 2011
    Posts
    10
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Norm View Post
    What is the relationship between the button and blank string?

    Please post the code showing where this print is being done and where the value is set to X.
    I don't understand how that is happening. For example:

    String aString = "X";
    ...
    System.out.println("aString= " + aString); // this will print aString = X and not a blank
    As you can see in the code, the 'WinnerString' is undefined at first. It is set to the value of the button if a winning combination is met. Otherwise it stays blank. When the button is clicked (which calls the ActionPerformed method), the value of the button stays blank until the next actionPerformed.

    String aString;

    ActionPerformed()
    {
    if(condition)
    {
    aString = "X";
    }
    }
    Print(aString);

    1st ActionPerformed prints blank string
    2nd ActionPerformed prints "X"

    It's difficult to explain via the use of text :/

    It seems as though the 'WinnerString' becomes X too late, and it is not processed as X until after the ActionPerformed.

  18. #18
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,042
    Thanks
    63
    Thanked 2,708 Times in 2,658 Posts

    Default Re: Tic Tac Toe ActionPerformed Issue

    To see where the value of WinnerString is set and where it is changed, add a println after EVERY place it is changed. The print outs should show you where is its values are changing.

    Your example shows that the value will ONLY be set IF the condition is true. If condition is not true, it will not be set. You could execute the actionPerformed dozens of times and if condition is never true, WinnerString will never be set.

    it is not processed as X until after the ActionPerformed.
    This can be shown by using printlns to show WHEN its value is "processed as X".

  19. #19
    Think of me.... Mr.777's Avatar
    Join Date
    Mar 2011
    Location
    Pakistan
    Posts
    1,136
    My Mood
    Grumpy
    Thanks
    20
    Thanked 82 Times in 78 Posts
    Blog Entries
    1

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Jakesta42 View Post
    Thank you for all of these replies. Yes, the code has been changed a little, and I have tried using a println everytime the Applet reaches that button. The problem seems to be that ActionPerformed is processing the button as a blank string before it's actually changed. Meaning when I click on the button, and set the value to, say, X, the Applet prints a blank line. After another ActionPerformed, it prints the button as X. It should be printing the button value 'X' when it's actually changed to X, not after. Seems to be the timing of ActionPerformed.

    Any ideas?
    And i guess that is what, i've mentioned early.. Right?

  20. #20
    Think of me.... Mr.777's Avatar
    Join Date
    Mar 2011
    Location
    Pakistan
    Posts
    1,136
    My Mood
    Grumpy
    Thanks
    20
    Thanked 82 Times in 78 Posts
    Blog Entries
    1

    Default Re: Tic Tac Toe ActionPerformed Issue

    Quote Originally Posted by Jakesta42 View Post
    As you can see in the code, the 'WinnerString' is undefined at first. It is set to the value of the button if a winning combination is met. Otherwise it stays blank. When the button is clicked (which calls the ActionPerformed method), the value of the button stays blank until the next actionPerformed.

    String aString;

    ActionPerformed()
    {
    if(condition)
    {
    aString = "X";
    }
    }
    Print(aString);

    1st ActionPerformed prints blank string
    2nd ActionPerformed prints "X"

    It's difficult to explain via the use of text :/

    It seems as though the 'WinnerString' becomes X too late, and it is not processed as X until after the ActionPerformed.
    Well, why don't you use mouse events like mouse pressed, mouse released etc? And i am not sure if mouse events work with applets as i didn't work too much with applets...

Similar Threads

  1. Needed help in actionPerformed statements
    By S-NESH in forum What's Wrong With My Code?
    Replies: 7
    Last Post: January 7th, 2011, 06:36 PM
  2. returning String from ActionPerformed
    By Bill'o in forum AWT / Java Swing
    Replies: 5
    Last Post: December 17th, 2010, 10:16 PM
  3. actionPerformed method
    By Deprogrammer in forum What's Wrong With My Code?
    Replies: 3
    Last Post: December 4th, 2010, 02:29 AM
  4. actionPerformed
    By Kumarrrr in forum Java Theory & Questions
    Replies: 5
    Last Post: November 23rd, 2010, 09:08 AM
  5. Issues with Tomcat 6.0
    By sanyog24681 in forum Java Servlet
    Replies: 0
    Last Post: October 21st, 2008, 07:55 AM

Tags for this Thread