JAVA 下拉菜单选项被文本遮挡住了

做了个计算器,编辑菜单中的粘贴选项被菜单下面的文本框覆盖了,请问怎么解决?JFrameframe=newJFrame();JMenuBarmenuBar=newJMenu... 做了个计算器,编辑菜单中的粘贴选项被菜单下面的文本框覆盖了,请问怎么解决?
JFrame frame = new JFrame();
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu menu = new JMenu("编辑");
menuBar.add(menu);
JMenuItem menuItemOne = new JMenuItem("复制");
menuItemOne.addActionListener(new Bta());
menuItemOne.setActionCommand("copy");
JMenuItem menuItemTwo = new JMenuItem("粘贴");
menuItemTwo.addActionListener(new Bta());
menuItemTwo.setActionCommand("paste");
menu.add(menuItemOne);
menu.add(menuItemTwo);
JTextField tf1 = new JTextField(27);
tf1.setHorizontalAlignment(JTextField.RIGHT);
tf1.setEnabled(false);
tf1.setText("0");
JPanel p0 = new JPanel();
p0.add(tf1);
p0.setBounds(10, 25, 300, 40);
frame.add(p0);
粘贴选项被tf1覆盖.
展开
 我来答
gglzf4
2010-01-29
知道答主
回答量:34
采纳率:0%
帮助的人:14.2万
展开全部
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

/**
* 2010-1-29
* @author zhangruimin
* Swing三级菜单例子
*/

public class Test extends JFrame implements ActionListener {
private static final int WIDTH = 300;
private static final int HEIGHT = 600;
private JMenuItem jMenuItem2_4 = null;

Test() {
Toolkit kit = Toolkit.getDefaultToolkit();// 设置顶层容器框架为居中
Dimension screenSize = kit.getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
int x = (width - WIDTH) / 2;
int y = (height - HEIGHT) / 2;
this.setLocation(x, y);
setTitle("三级菜单");
setSize(WIDTH, HEIGHT);
init();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

private void init() {
JMenuBar menuBar = new JMenuBar();
JMenu jMenu1 = new JMenu("菜单1");
JMenu jMenu2 = new JMenu("子菜单2");// 因为下面来有子菜单所以为JMenu类型

JMenuItem jMenuItem2_1 = new JMenuItem("子菜单1");
jMenu1.add(jMenuItem2_1);

JMenuItem jMenuItem1 = new JMenuItem("二级菜单1");
JMenuItem jMenuItem2 = new JMenuItem("二级菜单2");
JMenu jMenuItem3 = new JMenu("二级菜单3");// 下面还有子菜单

JMenuItem jMenuItem3_1 = new JMenuItem("三级菜单1");
JMenuItem jMenuItem3_2 = new JMenuItem("三级菜单2");
JMenuItem jMenuItem3_3 = new JMenuItem("三级菜单3");
jMenuItem3.add(jMenuItem3_1);
jMenuItem3.add(jMenuItem3_2);
jMenuItem3.add(jMenuItem3_3);

jMenu2.add(jMenuItem1);
jMenu2.add(jMenuItem2);
jMenu2.add(jMenuItem3);
jMenu1.add(jMenu2);

JMenuItem jMenuItem2_2 = new JMenuItem("子菜单3");
jMenu1.add(jMenuItem2_2);
JMenuItem jMenuItem2_3 = new JMenuItem("子菜单4");
jMenu1.add(jMenuItem2_3);
jMenu1.addSeparator();
jMenuItem2_4 = new JMenuItem("退出");
jMenu1.add(jMenuItem2_4);
jMenuItem2_4.addActionListener(this);// 注册监听

menuBar.add(jMenu1);
this.setJMenuBar(menuBar);// 将菜单加入到面板,不能用this.add(menuBar)
this.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jMenuItem2_4) {
int flag = JOptionPane.showConfirmDialog(null, "确认退出吗!");
System.out.println("flag=" + flag);
if (flag == 0) {
System.out.println("退出");
} else if (flag == 1) {
System.out.println("否");
}
}

}

public static void main(String[] args) {
new Test();
}
}
Irreappearable
2010-01-27 · TA获得超过4957个赞
知道大有可为答主
回答量:1423
采纳率:25%
帮助的人:3185万
展开全部

我运行的结果是菜单栏在最前的啊

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式