PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, June 25, 2022

[FIXED] How to set multiple JPanel Click Events in a for loop?

 June 25, 2022     compiler-errors, final, java, swing     No comments   

Issue

for(int row=0; row<3; ++row) {
    for(int col=0; col<3; ++col) {
        JPanel panel = new JPanel();
        panel.addMouseListener((MouseListener) new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                System.out.println(String.valueOf(row) + " " + String.valueOf(col));
            }
        });
        this.add(panel);
    }
}

I want something like this but it complains that row is not final variable

Local variable row defined in an enclosing scope must be final or effectively final

I've tried other ways but I can't find how to pass those parameters(row, col) without error messages.


Solution

Try something like this:

    private int row;
    private int col;
    
    public void Panel(){
        for(row=0; row<3; ++row) {
            for(col=0; col<3; ++col) {
                JPanel panel = new JPanel();
                panel.addMouseListener((MouseListener) new MouseAdapter() {
                    @Override
                    public void mouseClicked(MouseEvent e) {
                        System.out.println(String.valueOf(row) + " " + String.valueOf(col));
                    }
                });
                this.add(panel);
            }
        }
    }

Steffi



Answered By - Steffi
Answer Checked By - Dawn Plyler (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing