标签: jpopup

在任务栏的PopupMenu中添加垂直分隔符

如何在任务栏的应用程序的弹出菜单中添加垂直分隔符?

   tray = SystemTray.getSystemTray();             
   openMenuItem = new MenuItem("Open P");
   stopKLMenuItem = new MenuItem("Stop");
   exitMenuItem = new MenuItem("exit");
   menu.add(exitMenuItem);
   menu.add(stopKLMenuItem);
   menu.addSeparator(); // adds a horizontal separator
   menu.add(openMenuItem);
   trayIcon = new TrayIcon(image,"P",menu);
Run Code Online (Sandbox Code Playgroud)

该语句menu.addSeparator()添加了一个水平分隔符.我还想要一个垂直分隔符,如:

在此输入图像描述

我该怎么做呢 ?

java swing jmenuitem jpopup jseparator

7
推荐指数
1
解决办法
3958
查看次数

如何让组合框的列表更宽广?

import javax.swing.*;

public class test
{   
    public static void main(String[] args) throws Exception
    {
        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(120,80);      
        JComboBox cb = new JComboBox();
        cb.addItem("A very long combo-box item that doesn't fit no. 1");
        cb.addItem("A very long combo-box item that doesn't fit no. 2");
        frame.add(cb);
        frame.validate();
        frame.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使组合框项目以其所有文本可见的方式显示?
现在我有这样的事情:
在此输入图像描述
我不想在折叠时更改组合框的大小.
我只是想增加扩展部分的宽度.

java swing jcombobox jpopup

5
推荐指数
1
解决办法
2874
查看次数

如何让JPopupMenu透明化?

我想自定义外观,JPopupMenu所以我在i上创建了一个自定义类,扩展了JPopupMenu类,覆盖了paintComponent方法,就像我需要自定义的任何组件一样.

public class CustomPopupMenu extends JPopupMenu {

    @Override
    public paintComponent(Graphics g) {
        //custom draw
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道的唯一问题是我无法JPopupMenu透明化.我setOpaque(false)觉得够了,我错了.

我怎样才能JPopupMenu透明?

java swing transparent jpopupmenu jpopup

5
推荐指数
1
解决办法
4116
查看次数

右键单击复制JTable的单元格值

我在一个由2列组成的JTable中显示了一些结果.

文件 - 结果

我实现了一个显示副本条目的JPopupMenu,我尝试复制单元格的值,我右键单击.

filelistTable.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
         if(SwingUtilities.isRightMouseButton(e))
         {
             TablePopupMenu popup = new TablePopupMenu(filelistTable, e.getPoint());
             filelistTable.setComponentPopupMenu(popup);
         }
    }
});
Run Code Online (Sandbox Code Playgroud)

-

    public TablePopupMenu(JTable table, Point p) {

        this.table = table;
        this.p = p;

        JMenuItem mntmKopieren = new JMenuItem("Kopieren");
        mntmKopieren.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                copyCellToClipboard();
            }
        });
        add(mntmKopieren);
    }

    public void copyCellToClipboard()
    {
        int r = table.rowAtPoint(p);
        int c = table.columnAtPoint(p);
        System.out.println(table.getValueAt(table.convertRowIndexToView(r), 
                table.convertRowIndexToView(c)));
        StringSelection entry = new StringSelection(table.getValueAt(table.convertRowIndexToView(r), 
                table.convertRowIndexToView(c)).toString());
        Clipboard clipboard = …
Run Code Online (Sandbox Code Playgroud)

java clipboard swing jtable jpopup

4
推荐指数
1
解决办法
2950
查看次数

弹出JFrame关闭按钮

我正在做一些基本的 Java Swing application(初级水平).我要做的是当我按下 close button on JFrame窗口时,我想要一个 JOptionPane Confirm Dialog 而不是直接关闭

这是代码JFrame

   JFrame  frame= new JFrame("frame"); 
   frame.setSize(300,300);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setVisible(true);
   frame.pack();
Run Code Online (Sandbox Code Playgroud)

和JOptionPane代码是这样的

   final JOptionPane optionPane = new JOptionPane("Are You sure?",JOptionPane.QUESTION_MESSAGE,
JOptionPane.YES_NO_OPTION);
Run Code Online (Sandbox Code Playgroud)

所以当JFrame上的关闭按钮按下这个弹出窗口应该出现而不是直接关闭
请指导我如何做到这一点..提前感谢

java swing jframe windowlistener jpopup

4
推荐指数
1
解决办法
1万
查看次数

如何收听JCombobox选择事件

当我选择JCombobox我想要处理事件时,当它被选中并显示下拉列表以及当下拉消失并且JCombobox取消选择时处理事件.

注意,我不打算听取项目选择更改,但是当用户选择JCombobox并且UI弹出Dropdown时.

java swing event-handling jcombobox jpopup

3
推荐指数
1
解决办法
1139
查看次数

Java弹出菜单监听项目点击?

我使用以下代码创建一个非常简单的托盘菜单:

        final Frame frame = new Frame("");
            frame.setUndecorated(true);
            // Check the SystemTray is supported
            if (!SystemTray.isSupported()) {
                System.out.println("SystemTray is not supported");
                return;
            }
            final TrayIcon trayIcon = new TrayIcon(Toolkit.getDefaultToolkit().getImage(
                    new URL("http://url.com/trayIcon.png")), "Library Drop");
            final SystemTray tray = SystemTray.getSystemTray();

            // Create a pop-up menu components
            final PopupMenu popup = createPopupMenu();
            trayIcon.setPopupMenu(popup);
            trayIcon.addMouseListener(new MouseAdapter() {
                //@Override
                public void mouseClicked(MouseEvent e) {
                    if (e.getButton() == MouseEvent.BUTTON1) {
                        frame.add(popup);
                        popup.show(frame, e.getXOnScreen(), e.getYOnScreen());
                    }
                }
            });
            try {
                frame.setResizable(false);
                frame.setVisible(true);
                tray.add(trayIcon);
            } catch (AWTException e) …
Run Code Online (Sandbox Code Playgroud)

java swing system-tray awt jpopup

3
推荐指数
1
解决办法
1806
查看次数

处理JPopupMenu关闭

我想在屏幕上突出显示一些元素,当选择PopupMenu中的一个JMenuItem时(鼠标悬停).所以我在我的JMenuItem上使用MouseListener

        @Override
        public void mouseEntered(MouseEvent e) {
            highlightOn();
        }

        @Override
        public void mouseExited(MouseEvent e) {
            highlightOff();
        }
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我按Esc弹出菜单将关闭,而不清理highligt.我如何拦截JPopupMenu的关闭来处理这个问题?

java swing jpopupmenu jmenuitem jpopup

2
推荐指数
1
解决办法
2358
查看次数

找到combobox弹出窗口的所有者

我有一个弹出窗口,向用户显示设置.如果你点击它外面,它隐藏但如果你点击其中它仍然可见.

处理此行为的事件处理程序获取Component(被单击)并通过component.getParent()递归使用我可以检查它是否是我的设置面板的子项.到目前为止这已经奏效了.

但是我刚刚JComboBox在该面板中添加了一个,结果是"可选项弹出"(它有一个名字?)组合框在点击时显示的不是组合框的孩子.尝试在组合框中选择某些内容会隐藏我的设置面板.

使用NetBeans调试器我可以看到它的类型BasicComboPopup$1(是一个匿名类?),但它既不是ComboPopup,JPopupMenu也不是BasicComboPopup.

我需要一种方法来识别被点击的"组合框弹出窗口"的所有者/父组合框.

java swing awt jcombobox jpopup

1
推荐指数
1
解决办法
486
查看次数

右键单击时不显示 JPopupMenu

import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

public class B extends MouseAdapter {
    JFrame frame = new JFrame();
    JPopupMenu popup = new JPopupMenu();
    JMenuItem item1 = new JMenuItem("ADD");
    JMenuItem item2 = new JMenuItem("DELETE");

    public static void main(String arg[]) {
        new B();
    }

    B() {
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setLayout(new FlowLayout());
        frame.addMouseListener(this);
        popup.add(item1);
        popup.add(item2);
        frame.add(popup);
        frame.setVisible(true);
    }

    public void mouseClicked(MouseEvent click) {
        if(click.isPopupTrigger())  
            popup.show(frame,click.getX(),click.getY());
    }

}
Run Code Online (Sandbox Code Playgroud)

我写的这个java代码是显示一个弹出菜单,上面有两个项目,但是当我右键单击框架时,弹出菜单不显示,请帮忙。

java swing jpopupmenu jpopup

1
推荐指数
1
解决办法
1357
查看次数