比如说一个面板和另一个面板之间的是怎样控制的。
我想在一个面板上写一个事件,而事件源是另一个面板,怎样才能在一个面板里面触发另一个面板里面的事件呢?多谢
import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class JFrm extends JFrame{ public JFrm(){ Container c=this.getContentPane(); JButton btn=new JButton("Button"); //Left JPanel JPanel p=new JPanel(); p.setBackground(Color.pink); //Right JPanel PanelB pb=new PanelB(); pb.setBackground(Color.BLUE); p.add(btn,BorderLayout.CENTER); c.add(p,BorderLayout.WEST); c.add(pb); //Add Listener ButtonListener bl=new ButtonListener(pb); btn.addActionListener(bl); this.setSize(400,300); this.setVisible(true); }
public static void main(String[] args) { new JFrm(); } }
class PanelB extends JPanel{ public JTextField txt; public PanelB( ){ txt=new JTextField(20); this.add(txt); } } class ButtonListener implements ActionListener{ PanelB p; public ButtonListener(PanelB p){ this.p=p; } public void actionPerformed(ActionEvent e){ p.txt.setText(e.getActionCommand()); } }