Swing 笔记

      1 未设置Layout时,java默认为flowLayout布局的,设置为null即为清空布局管理器,之后添加组件
      常常是设置组件左上角坐标相对于容器左上角(0,0)的x,y值来确定组件的位置,即使更改容器大小也不会改变位置。
      这种方式常常用于窗体大小固定的容器里。就加上这么句话,所有组件都用setBounds();来控制位置和大小就可以了

      2 使窗口显示在屏幕中央frame.setLocationRelativeTo(null);
      3 关闭窗口 程序结束frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      4 frame.setResizable(true);  //若不写 默认为true            frame.setSize(338, 300);
      5 panel1.setLayout(new BorderLayout());

      6 就是定义控件的大小,setSize里面有两个参数,分别对应该控件的宽度和高度.  setLocation(int x,int y):  将组件移动到新的位置,
      用x和y两个参数来指定新位置的左上角.   setBounds(int x,int y,int width,int height):  四个参数,既定义组件的位置,也定义了控件的
      大小;说白了就是它就是上面两个函数的组合;

     7 setSize是设定的固定大小,而setPreferredSize仅仅是设置最好的大小,这个不一定与实际显示出来的控件大小一致(根据界面整体的变化而变化)
     8 Container c = frame.getContentPane();     c.add(panel1);     c.add(panel2);   frame.setVisible(true);    //必须放add()方法后面 否则 运行后不显示面板
     9 Icon icon = new ImageIcon("src/image/huawei.jpg");
        honor.setIcon(icon);

     10 frame.setLocationRelativeTo(null);不起作用的原因:对于一个新的JFrame来讲,基本可以认为是0x0大小的,你在填充内容前调用这个函数,
     等于是把窗口的左上角放在了屏幕中央。然后你后面再添加了别的子组件之后pack或者setSize,JFrame窗口变大,但是左上角还在屏幕中央。  
     把这句话放在pack()后面  就行了  其他需要注意的 还有 frame.setVisible(true);  需要放在 添加面板之后 不然面板不会显示

你可能感兴趣的:(Java实验)