不朽的机器 2016-12-08 02:15 采纳率: 0%
浏览 3498

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-08 05:28
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料