1:swing界面的类extends JFrame类,得到了JFrame的基本属性,使用更方便
!?其他区别在以后的学习中那个注意积累。
2:四种布局
1) 流式布局 :组建根据设置的对齐方式以加入先后顺序从左到右添加,一行排满,自动移到下一行,可以设置组件之间的边距。
a.setLayout(new FlowLayout(FlowLayout.LEFT)); //设置组件在流式布局的最左边
2) 边界布局:划分东南西北中五个区域:每个区域只能放一个组件
b.setLayout(new BorderLayout(5,5)); /* * 北边面板的方法 */ public void northPanel(){ JPanel north=new JPanel(); north.setBackground(Color.yellow); north.setPreferredSize(new Dimension(new Dimension(0,150))); this.add(north,BorderLayout.NORTH); } /* * 南边面板的方法 */ public void southPanel(){ JPanel south=new JPanel(); south.setBackground(Color.GREEN); this.add(south,BorderLayout.SOUTH); } /* * 中间面板的方法 */ public void centerPanel(){ JPanel center=new JPanel(); center.setBackground(Color.RED); this.add(center); }
中间面板会在其他位置面板设置完后,自动填充
南北/东西 面板会自动进行 左右/上下 对齐,所以设置相应的宽/高 是无效的。
3) 网格布局:将布局分成n*m的网格,一个网格只能放置一个组件
c.setLayout(new GridLayout(2,2)) //括号内为网格的行和列
!:当所添加的组件个数超过布局设置的个数,会首先满足行的要求。
4)绝对布局:null 所有组件的属性都需要人工定义,费力不讨好啊~
3:写程序时,时刻注意模块化,尽量减少主函数里的语句。
4:绝大部分组件设置大小的语句
d.setPreferredSize(new Dimension(110,0));5:因为画笔在窗口可见之后才能获得,所以在传参数时,监听器添加的顺序问题无法传递画笔,所以在监听器中写一个普通方法进行传参。 6: 关于JButton的常用设置积累 1)JButton button=new JButton(""); //括号内的值为e.ActionCommand() 的默认值,也可以通过 setActionCommand() 进行设置。 2)设置大小:button.setPreferredSize(new Dimension(30,30)); 3)设置背景色:button.setBackground(Color.green); 4) 去掉按钮的边框:button.setBorderPainted(false); 5) 显示图片: ImageIcon image = new ImageIcon(icons[i]);
JButton button = new JButton(image); 6) 设置凸起来的按钮: butten.setBorder(BorderFactory.createRaisedBevelBorder()); 7) 设置凹起来的按钮: button.setBorder(BorderFactory.createLoweredBevelBorder()); 8) 设置字体: button .setFont(new java.awt.Font("华文行楷", 1, 15)); 9) 设置前景色(字体) button.setForeground(Color.green);