Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   new to java can anyone help? (http://www.go4expert.com/forums/java-help-t21676/)

spiketkr0 5Apr2010 23:34

new to java can anyone help?
Hello everyone,

So I am suppose to make a source code that displays 9 labels(3x3) like tic tac toe but instead of playing the computer or even playing I am suppose to make it display either a x,o, or a blank spot in these labels randomly. I can't figure out how to associate the images to a math.random command. any suggestions?


virxen 6Apr2010 00:29

Re: new to java can anyone help?
one way to do this is....


import javax.swing.*;
import java.awt.GridLayout;
import java.util.Random;
import java.awt.Color;

public class Triliza extends JFrame{
    private JLabel labels[][];//array of JLabels
    private Random random;
    private String validChars[]={"x","o"," "};//valid characters in an array
    public Triliza(){
        random=new Random();
        labels=new JLabel[3][3];
        setLayout(new GridLayout(3,3));
        for (int i=0;i<3;i++)
            for(int j=0;j<3;j++){
                labels[i][j]=new JLabel(validChars[random.nextInt(3)],JLabel.CENTER);//we choose randomly one element from the array of valid characters.
                labels[i][j].setBorder(BorderFactory.createLineBorder(Color.black));//we add a border for better results

    public static void main(String args[]){
        new Triliza();

spiketkr0 6Apr2010 00:51

Re: new to java can anyone help?
well I have an image for the x and the o thats what was getting me confused

virxen 6Apr2010 02:21

Re: new to java can anyone help?
is the above code ok , or you want it with images instead?

spiketkr0 8Apr2010 03:26

Re: new to java can anyone help?
well its suppose to use the images I personally think it shouldnt matter but thats what I am suppose to do

virxen 8Apr2010 04:11

Re: new to java can anyone help?
1 Attachment(s)
then here you are.
inside i have put 2 jpg files (x,o) and the appropriate code.

All times are GMT +5.5. The time now is 15:19.