好吧,可以说我有3个Jpanels-1个父母和2个孩子
//Assume necessary imports etc
父母是这样的:
public class ParentPanel extends JFrame {
private JPanel mainPanel,controlPanel;
public ParentPanel(){
MainPanel pp= new ParentPanel();
controlPanel cp = new controlPanel();
}
...
实际中的主面板就像2D图形一样,但是对于如此简化的点并不重要:
public class MainPanel implements MouseMotionListener{
public MainPanel(){
//not important now
}
public void MouseMoved(MouseEvent arg0){
int xPos e.getX
}
...
我要执行的操作是获取鼠标的X pos,并将其从主面板传递到父面板,并传递到例如同级控制面板上的标签中。
任何想法线索或指针表示感谢
最佳答案
根据GUI的复杂程度,您可以将ParentPanel对象作为参数传递给MainPanel对象。在MainPanel中,您可以访问ParentPanel的所有组件等。
public class MainPanel implements MouseMotionListener{
ParentPanel parent;
public MainPanel(ParentPanel p){
//not important now
parent = p;
}
public void MouseMoved(MouseEvent arg0){
//Access to parent here.
}
并且在创建MainPanel时在ParentPanel中:
MainPanel pp= new MainPanel(this);
当然,这是一个非常简单的解决方案,更复杂的GUI将不适用。