Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

Hỏi về user menu trong Java Swing

Discussion in 'Xây dựng các ứng dụng Java khác, các vấn đề khác' started by Đào văn Thiện, 9/1/18.

  1. Đào văn Thiện

    Đào văn Thiện New Member

    Chào mọi nguời!

    E đang làm một project có đăng nhập.
    Sau khi đăng nhập thành công thì chuyển quan 1 Jfame mới và nó có 1 chỗ hiển thị " chào + 'user' "
    Bây giờ e muốn khi nhấn vào chỗ " chào + 'user' " sẽ ra các tùy chọn ví dụ như: Đăng xuất, đổi mật khẩu, xem thông tin.... thì phải làm thế nào ạ?

    Mọi người giúp e với.Có demo thì hay quá. Cảm ơn!
     
    D.A.N_3002 likes this.
  2. Vũ Thiên

    Vũ Thiên Member

  3. D.A.N_3002

    D.A.N_3002 Member

    Mình code nhanh nên hơi xấu nhé :) Bạn tìm hiểu thêm về JMenu để hiểu rõ code nhé :

    Code:
    package demo_jmanu;
    //Import
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPopupMenu;
    public class Form extends javax.swing.JFrame {
        class PopUp extends JPopupMenu
        {
    // Tạo PopUp khi nhấn vào Text      
            public PopUp()
                {
    // Tạo vào add các JMenuItem vào PopUp              
                    JMenuItem Log_Out = new JMenuItem("Log Out");
                    add(Log_Out);
                    JMenuItem Change = new JMenuItem("Change Password");
                    add(Change);
                    JMenuItem Info = new JMenuItem("See your info");
                    add(Info);              
    //----------------------------------------------------------------------------/
    // Tạo các ActionListener khi nhấn vào các JMenuItem
                    ActionListener action_LogOut = new ActionListener()
                    {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            JOptionPane.showMessageDialog(null, "Log Out !");
                        }
                    };
                   
                    ActionListener action_Change = new ActionListener()
                    {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            JOptionPane.showMessageDialog(null, "Change Password : ... !");
                        }
                    };
                   
                    ActionListener action_Info = new ActionListener()
                    {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            JOptionPane.showMessageDialog(null, "Your Info : ....");
                        }
                    };                              
    //----------------------------------------------------------------------------//
    // Add ActionListener cho các JMenuItem
                    Log_Out.addActionListener(action_LogOut);
                    Change.addActionListener(action_Change);
                    Info.addActionListener(action_Info);
                }
        }
        public Form() {
            initComponents();
        }
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
        private void initComponents() {
    
            Text = new javax.swing.JLabel();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            Text.setFont(new java.awt.Font("Times New Roman", 3, 24)); // NOI18N
            Text.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            Text.setText("Hello User !!");
            Text.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    TextMouseClicked(evt);
                }
            });
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(71, 71, 71)
                    .addComponent(Text, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(158, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(81, 81, 81)
                    .addComponent(Text, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(170, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                      
    
        private void TextMouseClicked(java.awt.event.MouseEvent evt) {                                
    // Action khi nhấn vào Text  
    // Tạo 1 class PopUp
            PopUp menu = new PopUp();
    // Show PopUp      
            menu.show(evt.getComponent(), 122, 42);
        }                                
    
        public static void main(String args[]) {
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Form().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                    
        private javax.swing.JLabel Text;
        // End of variables declaration                  
    }
     
    Đào văn Thiện likes this.
  4. JackV

    JackV Administrator Staff Member

    Ra là ra ntn, ai biết, ít nhất thì bạn phải vẽ ra chứ.
     
  5. Vũ Thiên

    Vũ Thiên Member

    chắc giống đăng xuất tùy chỉnh vâng vâng trên facebook ấy
    Giống z nek:

    [​IMG]
     
    Đào văn Thiện likes this.
  6. Đào văn Thiện

    Đào văn Thiện New Member

    Cảm ơn mọi người ạ
     

Chia sẻ trang này

Loading...