Java Swing-在子菜单中显示表格
我有一个菜单,上面显示Java Swing-在子菜单中显示表格,swing,Swing,我有一个菜单,上面显示 项目1 项目2 项目3 等等。单击Item1应该会显示一个包含两列的表 我试着在下面展示一个标签。但是标签会显示在屏幕的某个地方,我希望它是menuitem1下的一个子菜单 JMenu主菜单=新JMenu(“主菜单头”) JMenu menuItem1=新JMenu(新的SomeClassExtendingAbstractAction(“menuItem1”) 公共类SomeClassExtendingAbstractAction扩展AbstractAction{ p
- 项目1
- 项目2
- 项目3
public SomeClassExtendingAbstractAction(String displayText) {
super(displayText);
}
public void actionPerformed(ActionEvent event) {
try {
SubMenuDialog.showDialog(parent);
} catch (Throwable e) {
}
}
}
公共类子菜单对话框扩展JDialog{
public SubMenuDialog(JFrame parent) {
super();
initialize();
}
private void initialize() {
JLabel label = new JLabel();
label.setText("This is test submenu");
getContentPane().add(label);
}
public static void showDialog(JFrame parent) {
SubMenuDialog subMenuDialog = new SubMenuDialog(parent);
subMenuDialog.pack();
subMenuDialog.setVisible(true);
}
}如果我理解正确,您要做的是在弹出的子菜单中显示任意组件。显然,您不能使用
JDialog
,因为它会给您一个,JDialog
您的子菜单对话框#showDialog
可以创建jpopmpmenu
,向其中添加任何组件(例如JScrollPane
包含表格,或JPanel
带标签),并将其显示在正常子菜单的位置
但是,通常在弹出窗口中显示复杂的内容不是一个好主意,因为弹出窗口太容易丢失,而且弹出窗口中的组件可能会出现焦点问题
我建议您咨询UI设计师,以获得您想要实现的功能的最佳UI表示。我希望我的子菜单类似于浏览器的视图-工具栏-标准工具栏/导航工具栏等。在这种情况下,我仍然可以使用JPopupMenu吗?哪种浏览器?我在Firefox3.6、IE8或Chrome6中没有看到这种组合。Firefox视图-工具栏只显示一组复选框菜单项,这就是
JCheckBoxMenuItem
的用途。我希望我的工具栏看起来像没有复选框的视图工具栏。相反,我希望它是一个JTable。我尝试使用JMenuItem而不是Action/Jdialog。无法确定如何将Jtable添加到JMenuItem