Добавить функциональность в графику - PullRequest
0 голосов
/ 22 сентября 2018

Это мой код, я хочу добавить функциональность в Rect, который я сделал, например, когда вы нажимаете на него, появляется окно

public class codetwo extends JPanel {
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        this.setBackground(Color.LIGHT_GRAY);
        g.setColor(Color.RED);
        g.fillRect(110,110, 120, 120);
    }

    public static void main(String args[]) {
        codetwo cd = new codetwo(); 
        JFrame frame = new JFrame("Title");
        frame.add(cd);
        frame.setSize(440,350);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

1 Ответ

0 голосов
/ 25 сентября 2018

Для этого вам нужно использовать Mouselistener.

public class codetwo extends JPanel {
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        this.setBackground(Color.LIGHT_GRAY);
        g.setColor(Color.RED);
        g.fillRect(110,110, 120, 120);
    }

    public static void main(String args[]) {
        codetwo cd = new codetwo(); 
cd.addMouseListener(new MouseListener(){

            @Override
            public void mouseClicked(MouseEvent e) {
                // TODO Auto-generated method stub
                if  (e.getX() >= 110 && e.getX() <= 230 && e.getY() >= 110 && e.getY() <= 230) { 
                    JOptionPane.showMessageDialog(cd, "Some one clicked here ?", "Listening", JOptionPane.INFORMATION_MESSAGE);
                }
            }

            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub

            }
        JFrame frame = new JFrame("Title");
        frame.add(cd);
        frame.setSize(440,350);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...