不朽的机器 2016-12-07 18:15 采纳率: 0%
浏览 3532

java 多个JPanel添加到一个JPanel里面出现的问题

我在主窗口类里面添加了JPanel 希望通过点击添加3个已经写好的Panel
if(e.getActionCommand().equals("DES"))
{
desPan = new DesPanel();
jp.add(desPan.desPanel1, BorderLayout.WEST);
jp.add(desPan.desPanel2, BorderLayout.CENTER);
jp.add(desPan.desPanel3, BorderLayout.SOUTH);
jp.validate();
}
图片说明
结果如上 东西都被扭曲了,原本3个Panel添加到JFrame里面是这样的
图片说明

    三个Panel的代码着这么写的,我调试了半天 也没能调整好 怎么解决啊
    desPanel1 = new JPanel();
    desPanel2 = new JPanel();
    desPanel3 = new JPanel();
    jl_des1 = new JLabel("Secret key:");
    jl_des2 = new JLabel("Plain text:");
    jl_des3 = new JLabel("Cipher text");
    jtf_des1 = new JTextField();
//  jtf_des1.setText(null);
    jtf_des2 = new JTextField();
//  jtf_des2.setText(null);
    jtf_des3 = new JTextField();
//  jtf_des3.setText(null);
    button_des1 = new JButton("Encipher");
    button_des2 = new JButton("Decipher");


    desPanel1.setLayout(new GridLayout(3,1));
    desPanel2.setLayout(new GridLayout(3,1));
    desPanel3.setLayout(new GridLayout(1,2));

    desPanel1.add(jl_des1);
    desPanel1.add(jl_des2);
    desPanel1.add(jl_des3);
    desPanel2.add(jtf_des1);
    desPanel2.add(jtf_des2);
    desPanel2.add(jtf_des3);
    desPanel3.add(button_des1);
    desPanel3.add(button_des2);

    desPanel1.setLayout(new GridLayout(3,1));
    desPanel2.setLayout(new GridLayout(3,1));
    desPanel3.setLayout(new GridLayout(1,2));

展开全部

  • 写回答

2条回答 默认 最新

  • 墨笙弘一 Java领域优质创作者 2016-12-07 21:28
    关注

    你应该把三个panel加到一个大容器里面 然后在设置布局

    评论
  • 不朽的机器 2016-12-11 03:21
    关注

    谢谢我已经成功了 我本来就是把3个Panel放到两一个Panel里面 这样布局管理器调整很费劲 直接直接设置布局管理为NULL

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部