Tag: jpopup

如何让combobox的列表更宽广?

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); } } 如何使combobox项目以其所有文本可见的方式显示? 现在我有这样的事情: 我不想在折叠时更改combobox的大小。 我只是想增加扩展部分的宽度。

从打开的JComboBox打开JPopupMenu

我想改变combobox的OOTB行为,在点击鼠标右键(点击哪个按钮很容易,这不是重点)后冻结它,并打开JPopupMenu而不是选择那个条目。 那么 – 如何禁用在给定条件下选择条目并使用自定义行为呢? 我尝试将鼠标监听器添加到所有combobox组件中,但没有成功 – 没有任何改变 import java.awt.BorderLayout; import java.awt.Component; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JComboBox; import javax.swing.JFrame; public class MainClass { public static void main(final String args[]) { final String labels[] = { “A”, “B”, “C”, “D”, “E” }; JFrame frame = new JFrame(“Selecting JComboBox”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JComboBox comboBox = new JComboBox(labels); frame.add(comboBox, BorderLayout.SOUTH); […]

如何让JPopupMenu透明化?

我想自定义JPopupMenu的外观,所以我在i上创建了一个扩展JPopupMenu类的自定义类覆盖了paintComponent方法,就像我需要自定义的任何组件一样。 public class CustomPopupMenu extends JPopupMenu { @Override public paintComponent(Graphics g) { //custom draw } } 我知道的唯一问题是我无法使JPopupMenu透明化。 我虽然setOpaque(false)就够了,我错了。 如何让JPopupMenu透明化?

右键单击不显示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); […]