import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestFrame extends JFrame{ public TestFrame(int size){ JPanel content = new JPanel(new GridLayout(size, size)); JPanel[] panel = new JPanel[size * size]; PanelListener listener = new PanelListener(); for(int i = 0; i < panel.length; i++){ panel[i] = new JPanel(); panel[i].setBackground(Color.white); panel[i].addMouseListener(listener); content.add(panel[i]); } this.add(content); } // MouseListener offers the method mouseClicked(MouseEvent e) private class PanelListener implements MouseListener { @Override public void mouseClicked(MouseEvent event) { /* source is the object that got clicked * * If the source is actually a JPanel, * then will the object be parsed to JPanel * since we need the setBackground() method */ Object source = event.getSource(); if(source instanceof JPanel){ JPanel panelPressed = (JPanel) source; panelPressed.setBackground(Color.blue); } } @Override public void mouseEntered(MouseEvent arg0) {} @Override public void mouseExited(MouseEvent arg0) {} @Override public void mousePressed(MouseEvent arg0) {} @Override public void mouseReleased(MouseEvent arg0) {} } public static void main(String[] args){ TestFrame theGUI = new TestFrame(8); theGUI.setTitle("Grid"); theGUI.setVisible(true); theGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); theGUI.setSize(400,400); } }
Read more of this post
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.