簡體   English   中英

ActionListener Java搖擺

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM