Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 边框布局-JPanel中的JPanel_Java_Swing_Layout Manager_Border Layout - Fatal编程技术网

Java 边框布局-JPanel中的JPanel

Java 边框布局-JPanel中的JPanel,java,swing,layout-manager,border-layout,Java,Swing,Layout Manager,Border Layout,我想创建两个嵌套在另一个面板中的JPanel容器,但为什么它没有显示下面的代码?我的两个面板似乎不在ABC面板上 public class ABC extends JPanel { Frame frame; public ABC(Frame frame) { super(); this.frame = frame; setLayout(new BorderLayout());

我想创建两个嵌套在另一个面板中的
JPanel
容器,但为什么它没有显示下面的代码?我的两个面板似乎不在
ABC
面板上

public class ABC extends JPanel
{ 

      Frame frame;
      public  ABC(Frame frame)
       {
           super();
           this.frame = frame;
           setLayout(new BorderLayout());
           JPanel one = new JPanel();
           JPanel two = new JPanel();
           add(one,BorderLayout.NORTH);
           add(two,BorderLayout.CENTER);
           one.setVisible( true );
           two.setVisible( true );
       }
       public class one extends JPanel {
                  public one() {
                      setLayout(new FlowLayout(FlowLayout.LEFT));
                      createA();
                      setVisible(true);
                  }
              }
       public class two extends JPanel {
                   public two() {   
                       setLayout(new FlowLayout(FlowLayout.LEFT));
                       createB();
                       setVisible(true);
                   }
               }
     private void createA(){
                add(ButtonA);
                add(ButtonAA);
                add(ButtonAAA);
               }
     private void createB(){
                   add(ButtonB);
               }
}

如果你用错了它,你必须用你自己的类别(一、二)而不是JPANEL:

JPanel one = new one();
JPanel two = new two();
add(one,BorderLayout.NORTH);
add(two,BorderLayout.CENTER);

顺便说一句,尝试更改类别的名称可能会让人困惑,一、二

尝试更改面板一的优先顺序,因为当您将面板放在北部或除中心以外的任何地方时,它应该有一个大小 使用边框查看面板的边缘

one.setBorder(BorderFactory.createLineBorder(Color.black));
two.setBorder(BorderFactory.createLineBorder(Color.blue));
one.setpreferredsize(new new dimension(width,height));
add(one,BorderLayout.NORTH);

jpaneltwo=newjpanel()。它只是一个空面板,什么也看不出来。更改其背景色,或向其添加一些组件。在
JPanel one=new JPanel
中,您不会创建新JPanel的实例。您必须实际调用
one
two
1)的构造函数,使用缩进代码行和代码块的逻辑和一致形式。缩进的目的是使代码的流程更易于遵循!2) 为了更快地获得更好的帮助,请发布一个or。3) 没有充分的理由,不要混合使用Swing和AWT组件。在这种情况下,没有充分的理由。改变
框架
JFrame
并按照编译器的警告调整其他代码位。4) 在这种情况下,没有充分的理由扩展
JPanel
。。。。5) 请对代码和代码片段、结构化文档(如HTML/XML或输入/输出)使用代码格式。为此,请选择文本并单击邮件发布/编辑表单顶部的
{}
按钮。