- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在上一个问题中,我向社区询问为什么我的 JPopupMenu
没有出现在屏幕上。
我无法想出一个简单的、可运行的、可编译的示例。
所以,这就是我为你们所做的:
/* The old code entered here has been removed */
完整代码可以是found here
我将各种 JRadioButtonMenuItem
和 setupJPopup()
复制到一个新文件中并运行。有用。为什么它在 ScreenRecorder 类中不起作用?代码封装演示;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class PopupTrial {
public PopupTrial(){
setupJPopup();
JFrame frame = new JFrame();
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){
}
frame.getContentPane().add(label);
label.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e){
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
frame.setVisible(true);
frame.setSize(300, 300);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
new PopupTrial();
}
});
}
public void setupJPopup(){
encodingGroup.add(avi);
encodingGroup.add(quicktime);
popup.add(avi);
popup.add(quicktime);
popup.addSeparator();
recordingAreaGroup.add(entireScreen);
recordingAreaGroup.add(custom);
popup.add(entireScreen);
popup.add(custom);
popup.addSeparator();
cursorGroup.add(selectBlackCursor);
cursorGroup.add(selectWhiteCursor);
cursorGroup.add(selectNoCursor);
selectCursor.add(selectBlackCursor);
selectCursor.add(selectWhiteCursor);
selectCursor.add(selectNoCursor);
popup.add(selectCursor);
popup.pack();
}
JLabel label = new JLabel("Click Me");
ButtonGroup recordingAreaGroup = new ButtonGroup();
ButtonGroup cursorGroup = new ButtonGroup();
ButtonGroup encodingGroup = new ButtonGroup();
JPopupMenu popup = new JPopupMenu();
JRadioButtonMenuItem avi = new JRadioButtonMenuItem("AVI",true);
JRadioButtonMenuItem quicktime = new JRadioButtonMenuItem("QuickTime",false);
JRadioButtonMenuItem entireScreen = new JRadioButtonMenuItem("Entire Screen",true);
JRadioButtonMenuItem custom = new JRadioButtonMenuItem("Custom...",false);
JMenuItem selectCursor = new JMenu("Select a cursor");
JRadioButtonMenuItem selectWhiteCursor = new JRadioButtonMenuItem("White Cursor",true);
JRadioButtonMenuItem selectBlackCursor = new JRadioButtonMenuItem("Black Cursor",false);
JRadioButtonMenuItem selectNoCursor = new JRadioButtonMenuItem("No Cursor",false);
}
最佳答案
不,JFrame
的大小与 PopupMenu
不显示的原因无关。这是一个示例,显示与您想要的类似(并使用类似的方法)的工作:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class PopupMenu extends Box{
Dimension preferredSize = new Dimension(400,30);
public PopupMenu(){
super(BoxLayout.Y_AXIS);
final JPopupMenu menu = new JPopupMenu("Options");
for(int i = 1; i < 20; i++)
menu.add(new JMenuItem("Option" + i));
JLabel clickMe = new JLabel("ClickMe");
clickMe.setAlignmentX(RIGHT_ALIGNMENT);
clickMe.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
menu.show(e.getComponent(), e.getX(), e.getY());
}});
add(clickMe);
}
public Dimension getPreferredSize(){
return preferredSize;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new PopupMenu());
frame.validate();
frame.pack();
frame.setVisible(true);
}
}
关于java - JPopupMenu 的面积是否太小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953968/
这是代码: from Tkinter import * def main(): w1 = Tk() w1["height"] = 400; w1["width"] = 500;
我想问一下 scrollView 中 imageView 的布局问题。但是,显示出来的图像非常非常小。即使是 1024 * 1024 px 图片也无法完全占据普通手机的整个屏幕宽度。 如何修改它使得对
我发现我的某个应用程序的启动器图标太小了。该设备是 samsung nexus galaxy,因此它应该使用 mdpi 文件夹中的可绘制对象。 我希望图标大小为 72 x 72 像素。其实这个图标看起
我一直想知道:ptrdiff_t 是否应该能够保存任意两个指针的差异定义?两个指针太远怎么会失败? (我不是指任何特定的语言...我指的是所有具有这种类型的语言。) (例如,当您有 32 位指针时,从
我有一个 QAbstractItemDelegate 并且在 paint 方法中,我试图从标签中绘制文本。但我看到的问题是 QLabel 的大小提示对于它包含的文本来说总是太小。我怎样才能解决这个问题
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的程序使用 wx.ProgressDialog对多个阶段的流程提供反馈。在每个阶段开始时,我使用 Update 的第二个参数来更改对话框中的消息。 问题在于对话框的宽度是根据构造函数中的消息确定的,
我有一个动态数据数组,其中包含 3 个用于构建饼图的整数。在大多数情况下,IE 运行良好:[5,10,3]。饼图渲染正确,您可以看到所有部分。 但是在某些情况下,数字可能相差很大。即 [1,500,2
我有一个长度为 28 的字符串,它代表基数 16 中的 1 个数字。 long num=strtol(str,NULL,16); 但它适用于小字符串而不是长字符串(它给了我一个否定的结果)。那么对于长
我正在编写一个 PhoneGap 应用程序并使用 Twitter 的 Bootstrap 进行响应式设计。 校园/帐户/部门的框是选择框。我认为很明显的问题是选择框很小,当我在 css 中尝试时无法更
我正在使用这段代码来显示 UIAlert,它将询问简单的输入 UIAlertController *alert = [UIAlertController alertControllerWithTitl
我有一个带复选框的 HTML 公式列表。所有复选框都有一个标签。 我正在使用 flexbox 设计这个公式。使用 flexbox 使其中一个复选框比其他所有复选框都小。原因似乎是该复选框的标签文本太长
我正在这里处理一些 javascript svg 图形,我发现我真的不能依赖 Firefox 上 window.innerHeight(或outerHeight)的值。我正在运行 Ubuntu 12.
单击左侧边栏中的图像 http://vaiman.org/我们的 YouTube 盒子太小了。我需要扩大 YouTube 区域。怎么办? 这是我的 JavaScript 代码 ( http://vai
我有一个视频 View 来流式传输视频,它工作正常但视频的大小太小,我尝试在 API 演示中进行流式传输并且同一视频的大小是正常的。我做错了什么?这是一些代码: main.xml:
我发现 Android Studio (v1.0.1) 布局“设计” View 太小而无用 - 我几乎看不到一些元素。 “缩放”按钮仅显示布局的一小部分。有没有办法分离 View 以便我可以放大它?
嘿,我正在使用 HTML 标签,当我在 Safari 中打开页面时,视频播放器非常小。 如果我启用全屏然后返回,它会正确聚焦。 我不确定是什么原因导致它最初加载不正确。 HTML代码:
我在 UIPopoverController 中显示了一个 UIPickerView。 UIPickerView 的尺寸为:320x216。出于某种原因,UIPickerView 似乎是正常高度的 3
当我给 matplotlib 一个注释字符串时,例如 '$\frac{A}{B} = C$' 我指定字体大小为 18,A 和 B 以 12.6 pt 呈现,而 C 以 18 pt 呈现。我希望 A、B
我有一个条形图,不知何故,整个 svg 容器只是矩形以及落在矩形所在区域的所有内容,因此 y 轴刻度被留在容器之外。我怎样才能解决这个问题,以便顶部的文本和 y 轴刻度(图像)不会留在外面。 我的代码
我是一名优秀的程序员,十分优秀!