JAVA Swing类的一个问题,怎么让一个菜单项能在两个菜单里共存?

我刚学JAVA,学到了Swing,貌似一个组件是不能在两个地方出现的。我把一个菜单项给了顶部的菜单,然后又给了一个弹出菜单这时顶部菜单就没有那个菜单项了,为啥不让两个地方... 我刚学JAVA,学到了Swing,貌似一个组件是不能在两个地方出现的。
我把一个菜单项给了顶部的菜单,然后又给了一个弹出菜单
这时顶部菜单就没有那个菜单项了,为啥不让两个地方同时出现呢

就比如”复制“这个菜单项,在弹出菜单和顶部菜单里当然都要有了,但只能一个地方有,难道要构造两个一样的菜单项?
展开
 我来答
daay1986
2011-03-03 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1477万
展开全部
public class NewJFrame2 extends javax.swing.JFrame {

/** Creates new form NewJFrame2 */
public NewJFrame2() {
initComponents();
Action action = new AbstractAction("别点了") {

public void actionPerformed(ActionEvent e) {
System.out.println(e.getSource());
}
};
this.jMenu1.add(action);
this.jMenu2.add(action);
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu2 = new javax.swing.JMenu();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jMenuBar1.setName("jMenuBar1"); // NOI18N

jMenu1.setText("File");
jMenu1.setName("jMenu1"); // NOI18N
jMenuBar1.add(jMenu1);

jMenu2.setText("Edit");
jMenu2.setName("jMenu2"); // NOI18N
jMenuBar1.add(jMenu2);

setJMenuBar(jMenuBar1);

pack();
}// </editor-fold>

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new NewJFrame2().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
// End of variables declaration
}
把视野放开,按钮作用是激发action,即便你两个一样的按钮目的还是为了激发同一个action,那么实际上你要只是一个action对应两个菜单而已,这就是解决方案。同样如果要两个一模一样的表格你大可不必要求一个JTable两个父容器,这是不可能的,更好的方法是两个JTable 共用一个TableModle就可以了,甚至是多个表格共用都没有问题。这种思想也是mvc的一部分,界面永远都是不同的,相同的只是数据和处理流程。上面的代码是Netbeans自动生成的,所以看起来很乱。
五加零等于几
2011-03-03 · TA获得超过365个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:99.7万
展开全部
一个菜单项只能有一个父容器吧?一个孩子只能有一个爹吧?

所以构造两个一样的菜单项是一个解决办法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式