| | |
3 by 3 grid of buttons
![]() |
•
•
Join Date: Feb 2008
Posts: 29
Reputation:
Solved Threads: 0
ok so have been assigned to make a 2 player tic tac toe game for my final project this year in school. However since this is a fisrt year java course we are using like "fake java" just to get the hang of it. Except now i have to work on the program from home cause i have been sick and the java compiler at my house doesnt understand the "fake java". so basically my question is how do u display a 3 by 3 grid of buttons? because at the moment i have a line of nine buttons that actually allow you to play the game correctly if you take the 4,5, and 6 buttons and make them the second row and the 7,8, and 9 and make it the thrid row, but i cant figure out how to do that
What do you mean by "fake Java"? Do you mean Processing? if that is the case than you can simply download it as it is free.
If it is not processing, and you can't go back to what your used to, than please post your code.
If I had to give you one suggestion on how to layout the buttons in a grid, you might want to look into the GridLayout, which should be what your looking for.
If it is not processing, and you can't go back to what your used to, than please post your code.
If I had to give you one suggestion on how to layout the buttons in a grid, you might want to look into the GridLayout, which should be what your looking for.
My site, random PM's from people I haven't hear from before will be DELETED
"If people are good only because they fear punishment, and hope for reward, then we are a sorry lot indeed.",
"If we knew what it was we were doing, it would not be called research, would it? "-Albert Einstein
"If people are good only because they fear punishment, and hope for reward, then we are a sorry lot indeed.",
"If we knew what it was we were doing, it would not be called research, would it? "-Albert Einstein
•
•
Join Date: Feb 2008
Posts: 29
Reputation:
Solved Threads: 0
ya i dont think its processing and i cant go back to what i am used to. The code i have i copied and pasted from an old progam to get the basic set up so thats y i have a lot of un used variable but here is what i have:
Java Syntax (Toggle Plain Text)
public class client extends JPanel { private final static long serialVersionUID = 2000L; Server g1 = new Server(); BufferedImage image1, image2, image3, image4, image5, image6, image7, image8,image9; private JLabel playerLabel, dealerLabel; private int[][] board = new int[3][3]; private String message = ""; private int dealing = 1, dealerHandValue = 0, playerHandValue = 0; JButton oneButton, twoButton, threeButton, fourButton, fiveButton, sixButton, sevenButton, eightButton, nineButton; JPanel labelDisplayArea = new JPanel (); public client() { oneButton = new JButton(" "); twoButton = new JButton(" "); threeButton = new JButton(" "); fourButton = new JButton(" "); fiveButton = new JButton(" "); sixButton = new JButton(" "); sevenButton = new JButton(" "); eightButton = new JButton(" "); nineButton = new JButton(" "); for(int x=0;x<3;x++){ for(int j=0;j<3;j++){ board[x][j]=0; } } oneButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { oneButton.setText(g1.getPlayer()); oneButton.setEnabled(false); board[0][0] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); twoButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { twoButton.setText(g1.getPlayer()); twoButton.setEnabled(false); board[0][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); threeButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { threeButton.setText(g1.getPlayer()); threeButton.setEnabled(false); board[0][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); fourButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { fourButton.setText(g1.getPlayer()); fourButton.setEnabled(false); board[1][0] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); fiveButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { fiveButton.setText(g1.getPlayer()); fiveButton.setEnabled(false); board[1][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); sixButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { sixButton.setText(g1.getPlayer()); sixButton.setEnabled(false); board[1][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); sevenButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { sevenButton.setText(g1.getPlayer()); sevenButton.setEnabled(false); board[2][0] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); eightButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { eightButton.setText(g1.getPlayer()); eightButton.setEnabled(false); board[2][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); nineButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { nineButton.setText(g1.getPlayer()); nineButton.setEnabled(false); board[2][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); } } }); JPanel buttonPanel = new JPanel(); buttonPanel.add(oneButton); buttonPanel.add(twoButton); buttonPanel.add(threeButton); buttonPanel.add(fourButton); buttonPanel.add(fiveButton); buttonPanel.add(sixButton); buttonPanel.add(sevenButton); buttonPanel.add(eightButton); buttonPanel.add(nineButton); add(buttonPanel, BorderLayout.PAGE_START); add (buttonPanel, BorderLayout.CENTER); setSize(700,700); } /** * Creates and displays the GUI */ private static void createAndShowGUI() { JFrame frame = new JFrame("Tick Tack Toe"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add( new client()); frame.pack(); frame.setVisible(true); frame.setSize(500,200); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { UIManager.put("swing.boldMetal", Boolean.FALSE); createAndShowGUI(); } }); } }
•
•
Join Date: Feb 2008
Posts: 29
Reputation:
Solved Threads: 0
ok ya i kno that is java swing i have been teaching myself it recently ... and for school we have a library that basically does all the formatting and what not for us so its still java just simplier. And i actually figured out how to do it but it wasnt very efficient. I used a GridBagLayout which worked as a mentioned just tediuos. my friend mentions a boxLayout with three panels, one for each row but i didnt try it as i already had done it this way. But heres wat i got:
Java Syntax (Toggle Plain Text)
public class client extends JPanel { private final static long serialVersionUID = 2000L; Server g1 = new Server(); private int[][] board = new int[3][3]; private String message = ""; JButton oneButton, twoButton, threeButton, fourButton, fiveButton, sixButton, sevenButton, eightButton, nineButton, endButton; JPanel buttonPanel = new JPanel(); final static boolean shouldFill = true; final static boolean shouldWeightX = true; final static boolean RIGHT_TO_LEFT = false; //reset the button so that they are enabled and have no text public void reset(){ oneButton.setText(""); twoButton.setText(""); threeButton.setText(""); fourButton.setText(""); fiveButton.setText(""); sixButton.setText(""); sevenButton.setText(""); eightButton.setText(""); nineButton.setText(""); oneButton.setEnabled(true); twoButton.setEnabled(true); threeButton.setEnabled(true); fourButton.setEnabled(true); fiveButton.setEnabled(true); sixButton.setEnabled(true); sevenButton.setEnabled(true); eightButton.setEnabled(true); nineButton.setEnabled(true); message = ""; for(int x=0;x<3;x++){ for(int j=0;j<3;j++){ board[x][j]=0; } } } //generate grid public client() { if (RIGHT_TO_LEFT) { buttonPanel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); } buttonPanel.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); if (shouldFill) { //natural height, maximum width c.fill = GridBagConstraints.HORIZONTAL; } oneButton = new JButton(""); if (shouldWeightX) { c.weightx = 4; } c.fill = GridBagConstraints.HORIZONTAL; c.ipady = 50; //height c.gridx = 0; //grid location c.gridy = 0;//grid location buttonPanel.add(oneButton,c); //add to panel twoButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 1; c.gridy = 0; buttonPanel.add(twoButton,c); threeButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 2; c.gridy = 0; buttonPanel.add(threeButton,c); fourButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 0; c.gridy = 1; buttonPanel.add(fourButton,c); fiveButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 1; c.gridy = 1; buttonPanel.add(fiveButton,c); sixButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 2; c.gridy = 1; buttonPanel.add(sixButton,c); sevenButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 0; c.gridy = 2; buttonPanel.add(sevenButton,c); eightButton = new JButton(""); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 1; c.gridy = 2; buttonPanel.add(eightButton,c); nineButton = new JButton(""); c.gridx = 2; c.gridy = 2; buttonPanel.add(nineButton,c); endButton = new JButton("End the game"); c.fill = GridBagConstraints.HORIZONTAL; c.weighty = 1.0; //request any extra vertical space c.anchor = GridBagConstraints.PAGE_END; //bottom of space c.insets = new Insets(10,0,0,0); //top padding c.gridwidth = 3; c.ipady = 0; c.gridx = 0; c.gridy = 3; buttonPanel.add(endButton,c); //set the board array to all 0s for(int x=0;x<3;x++){ for(int j=0;j<3;j++){ board[x][j]=0; } } //if button 1 is clicked oneButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { oneButton.setText(g1.getPlayer()); //set the text of the button oneButton.setEnabled(false); // disable button board[0][0] = g1.getBoard(); //set the array to the specific player message = g1.checkWin(board); // check if someone won if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); //output if someone won or tied reset(); //reset g1.reset(); } } }); //if click two button twoButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { twoButton.setText(g1.getPlayer()); twoButton.setEnabled(false); board[0][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click three button threeButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { threeButton.setText(g1.getPlayer()); threeButton.setEnabled(false); board[0][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click four button fourButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { fourButton.setText(g1.getPlayer()); fourButton.setEnabled(false); board[1][0] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click five button fiveButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { fiveButton.setText(g1.getPlayer()); fiveButton.setEnabled(false); board[1][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click six button sixButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { sixButton.setText(g1.getPlayer()); sixButton.setEnabled(false); board[1][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click seven button sevenButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { sevenButton.setText(g1.getPlayer()); sevenButton.setEnabled(false); board[2][0] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click eight button eightButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { eightButton.setText(g1.getPlayer()); eightButton.setEnabled(false); board[2][1] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click nine button nineButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { nineButton.setText(g1.getPlayer()); nineButton.setEnabled(false); board[2][2] = g1.getBoard(); message = g1.checkWin(board); if(message.equals("")){ }else{ JOptionPane.showMessageDialog(null, message); reset(); g1.reset(); } } }); //if click end button endButton.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent ae) { JOptionPane.showMessageDialog(null, "You have ended the game. Goodbye"); System.exit(0);//end } }); add(buttonPanel, BorderLayout.PAGE_START); add (buttonPanel, BorderLayout.CENTER); setSize(700,700); } /** * Creates and displays the GUI */ private static void createAndShowGUI() { JFrame frame = new JFrame("Tick Tack Toe"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add( new client()); frame.pack(); frame.setVisible(true); frame.setSize(150,310); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { UIManager.put("swing.boldMetal", Boolean.FALSE); createAndShowGUI(); } }); } }
![]() |
Similar Threads
- Introducing myself)) (Community Introductions)
- GUI not working (Java)
- problem transfering data from one form to another (C#)
- Adding Radio Buttons to Data from DB (Visual Basic 4 / 5 / 6)
- Memory game (Python)
- align widgets in one frame with tkinter grid method (Python)
- Getting Radio Buttons to access Mysql Database (PHP)
- GUI buttons Inventory Part 5 (Java)
- Tic Tac Toe help (Java)
- Canot get file buttons or menu bars to display in i.e. (Web Browsers)
Other Threads in the Java Forum
- Previous Thread: JTextPane - Right Align of Text
- Next Thread: invoking .asmx webservice in java
| Thread Tools | Search this Thread |
2dgraphics account android api apple applet application arguments array arrays automation banking binary binarytree bluetooth chat chatprogramusingobjects class client code color component count database derby design eclipse eclipsedevelopment encryption error fractal game givemetehcodez graphics gridlayout gui homework html ide if_statement image integer interface j2me java javadesktopapplications javaprojects jlabel jni jpanel jtextfield julia keyword linux list macintosh map method methods midlethttpconnection mobile netbeans newbie nullpointerexception object open-source os problem producer program programming project projectideas property read recursion reference replaysolutions ria scanner search server set size sms sort sourcelabs splash sql sqlite stop string swing threads transforms tree ui unicode validation windows






