我會建議通過在動作偵聽器構造函數方法中使用參數來添加對所述對象的引用。
的完整的運行示例:
package com.jms.app;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class MainApp extends JFrame {
JPanel mainPanel = new JPanel(new BorderLayout());
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
SomeListener listener = new SomeListener(panel2); //YOU WANT RIGHT PANEL TO DRAW
public MainApp() {
panel1.setBorder(BorderFactory.createLineBorder(Color.black));
panel1.setPreferredSize(new Dimension(150, 150));
panel1.addMouseListener(listener); //YOU WANT LEFT PANEL TO CAPTURE MOUSE EVENT
panel2.setBorder(BorderFactory.createLineBorder(Color.black));
panel2.setPreferredSize(new Dimension(150, 150));
mainPanel.add(panel1, BorderLayout.WEST);
mainPanel.add(panel2, BorderLayout.EAST);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(mainPanel);
setSize(300, 150);
setLocationRelativeTo(null);
}
public static void main(String[] args){
MainApp app = new MainApp();
app.setVisible(true);
}
class SomeListener extends MouseAdapter {
private JPanel panel = null;
public SomeListener(JPanel panel) {
this.panel = panel;
}
public void mouseClicked(MouseEvent e) {
System.out.println("Here is your referenced object." + panel.toString());
//I'm lazy to draw for you.
}
}
}
握住屬性爲其中是負責繪製類字段。在按鈕中選擇項目時更改它們的值。 – user1803551
這是不是Java類 - 供您參考 - 在大學註冊 – gpasch