Hai instance trong cùng một lớp cha, khác lớp con sẽ tương tác với nhau như thế nào?

VD mình có MenuPanel mp = new MenuPanel() màu ĐỎ, GamePamel gp = new Gamepanel màu XANH là 2 panel ở bên trong MainPanel. Muốn click panel này thì panel kia hiện ra thì làm ntn?

Bạn có thể tham khảo cách redux thực hiện như hình sau:

Store có thể chính là MainPanel hoặc là 1 thuộc tính của MainPanel.

5 Likes

Không biết bạn muốn ngôn ngữ gì, mình dùng mã giả tương tự C# nhé:

Class Panel:

class Panel
{
    public Panel followingPanel {get; set;}
    public void onClick()
    {
        this.followingPanel.show();
    }
}

Trong một component nào đó:

mp.followingPanel = gp;
gp.followingPanel = mp;
5 Likes

thử dùng giải pháp dùng case với hàm Visibible

// bar menu
JMenuBar mainMenu= new JMenuBar();
// mục menu đỏ
JMenu redMenu= new JMenu("RedMenu");
// phần màu xanh
JPanel bluePanel= new JPanel();
JFrame.add( bluePanel);
mainMenu.add( redMenu);
redMenu.addActionListener(new ActionListener(){
       public void ActionPerformed( ActionEvent e){
                 // nếu đang bị ẩn thì hiện
                if( bluePanel.getVisible()==false){
                    bluePanel.setVisible( true);
                 // ngược lại
               } else{
                    bluePanel.setVisible( false);
              }
       }
}

Trong Android dùng Intent, trong iOS dùng NSNotification.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?