[英]ActionListener java swing
我一直在嘗試使用搖擺廣告創建一個窗口,我不得不將按鈕放在右側,這就是為什么我使用boxlayout的原因,但是我找不到在按鈕上使用ActionListener的方法。 那就是我正在研究的程序:
public class Fenetre2 extends JFrame {
private JSplitPane splitPan=null;
public Fenetre2 (){
JPanel pan = new JPanel ();
// CARACTERISTIQUE FENETRE
this.setTitle("Gestion Employe");
this.setSize(800, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pan.setBackground(Color.white);
this.setContentPane(pan);
// ADD BUTTON
Container c = getContentPane();
c.setLayout( new BorderLayout( 30, 30 ) );
Box boxes[] = new Box[ 4 ];
boxes[ 0 ] = Box.createHorizontalBox();
boxes[ 1 ] = Box.createVerticalBox();
boxes[ 2 ] = Box.createHorizontalBox();
boxes[ 3 ] = Box.createVerticalBox();
// create strut and add buttons to boxes[ 1 ]
boxes[ 1 ].add( new JButton( "ajouter" ) );
boxes[ 1 ].add( new JButton( "suprimer" ) );
boxes[ 1 ].add( new JButton( "afficher" ) );
c.add( boxes[ 1 ], BorderLayout.EAST );
//TREE
DefaultMutableTreeNode root = new DefaultMutableTreeNode("STRUCTURE EMPLOYE");
//create the child nodes
DefaultMutableTreeNode PDGNode = new DefaultMutableTreeNode("PDG");
DefaultMutableTreeNode departement1Node = new DefaultMutableTreeNode("departement 1");
departement1Node.add(new DefaultMutableTreeNode("CHEF DEPARTEMENT"));
departement1Node.add(new DefaultMutableTreeNode("EMPLOYEE1"));
departement1Node.add(new DefaultMutableTreeNode("EMPLOYEE2"));
departement1Node.add(new DefaultMutableTreeNode("EMPLOYEE3"));
//add the child nodes to the root node
root.add(PDGNode);
PDGNode.add(departement1Node);
JTree tree = new JTree(root);
this.add(tree);
JScrollPane scroll=new JScrollPane(tree);
splitPan=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll,new JLabel("aaaaa"));
splitPan.setSize(this.getMaximumSize());
add(splitPan);
this.setVisible(true);
}
public static void main (String args []){
Fenetre2 fen = new Fenetre2();
}
}
您不應該將按鈕直接添加到面板中,而應實例化它們,然后向其添加ActionListener
或您要對其進行任何其他操作。 例:
JButton ajouterButton = new JButton("ajouter");
ajouterButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
// code goes here
}
});
然后可以將按鈕添加到數組中:
boxes[1].add(ajouterButton);
然后對所有按鈕執行相同的操作。
您要查找的按鈕實例存儲在box [1]中,因此您只需執行boxes[1].addActionListener(...);
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.