Inne działy

 

Java Swing Menu kontekstowe (popup menu)

 

Innym rodzajem menu jest menu kontekstowe. Java Swing ma klasęJPopupMenu dla tej funkcji. Jest ono czasami nazywane menu kontekstowe i zazwyczaj pojawia się, gdy klikamy prawym przyciskiem myszy na elemencie. Chodzi o to, aby umieścić tylko polecenia, które są istotne z punktu widzenia obecnej sytuacji. Mamy na przykład obraz. Klikając prawym przyciskiem myszy na obrazek, wyświetlamy okno z poleceniami, aby zapisać, przeskalować, przesunąć obraz itp.

 

package uazz.swing;

import com.sun.swing.internal.plaf.metal.resources.metal;
import java.awt.event.*;
import javax.swing.*;


public class MenuKontekstowe extends JFrame{
    
    private JPopupMenu jpmenu;
    
    public MenuKontekstowe(){
        pokazUI();
    }
    
    private void pokazUI(){
        
        jpmenu = new JPopupMenu();
        JMenuItem maks = new JMenuItem("Maksymalizuj");
        maks.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                setExtendedState(JFrame.MAXIMIZED_BOTH);
            }
        });
        
        jpmenu.add(maks);
        
        JMenuItem wyjscie = new JMenuItem("Wyjscie");
        wyjscie.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        
        jpmenu.add(wyjscie);
        
        addMouseListener(new MouseAdapter() {

            @Override
            public void mouseReleased(MouseEvent e) {
                if(e.getButton() == MouseEvent.BUTTON3){
                    jpmenu.show(e.getComponent(), e.getX(), e.getY());
                } 
            }            
        });
        
        setTitle("Menu kontekstowe");
         setSize(400, 300);
         setLocationRelativeTo(null);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    public static void main(String[] args){
        
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                MenuKontekstowe mk = new MenuKontekstowe();
                mk.setVisible(true);
            }
        });
    }
}

Przykład pokazuje menu podręczne z dwoma poleceniami. Pierwsze polecenie maksymalizuje okno, drugie będzie zamykać aplikację.

jpmenu = new JPopupMenu();

Aby utworzyć menu kontekstowe, używamy klasę o nazwie JPopupMenu .

JMenuItem maks = new JMenuItem("Maksymalizuj");
maks.addActionListener(new ActionListener() { 
     @Override
     public void actionPerformed(ActionEvent e) {
        setExtendedState(JFrame.MAXIMIZED_BOTH);
     }
});

Menu kontekstowe zawiera JMenuItems . Ta pozycja pozwoli zmaksymalizować ramkę.

addMouseListener(new MouseAdapter() { 
    @Override
    public void mouseReleased(MouseEvent e) {
       if(e.getButton() == MouseEvent.BUTTON3){
           jpmenu.show(e.getComponent(), e.getX(), e.getY());
       } 
    }            
});        

Menu kontekstowe, jest wyświetlane po kliknięciu przyciskiem myszy. StałaMouseEvent.BUTTON3 umożliwia wyświetlenie menu kontekstowe tylko po kliknięciu prawym przyciskiem myszki.

 

java swing

 

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.