窗口也称为容器,在书中大部分称为容器,这里主要讲的是底层容器。
JFrame():创建一个无标签的窗口。
JFrame(String s):创建标题为s的窗口
setBounds(int a,int b,int width,int height):这个是设计窗口的初始位置
setVisible(boolean b)这个是设置窗口是否可见,这里重点讲这个方法,这个方法的位置一般位于最后,因为从开始到这个方法为止都会显示,后面的就不会显示了,也就是说如果你把它放前面,后面那些组件就不会显示出来。
setDefaultCloseOperation(int operation)该方法用于设置单击窗口右上方的叉号程序会做出什么反应。
菜单包含菜单条JMenuBar,菜单JMenu,菜单项JMenuItem,嵌入子菜单,菜单本身就是菜单项,菜单上的图标Icon。
菜单可以直接加入窗口中,在菜单中可以加入菜单项。
组件JTextField(文本框) JTextArea(文本区) JButton(按钮) JLabel(标签) JCheckBox(复选框) JRadioButton(单选按钮) JComboxBox(下拉列表) JPasswordField(密码框)
这些组件可以直接加入窗口中,但是是没有任何格式可言。
接下来讲中间容器,JPanel面板,JTabbedPane(选择窗口)使用方法add(String text,Component c); JScrollPane(滚动窗格)这个窗格只可以添加一个组件,可以实现通过滚动条来观看该组件;
JSplitPane(拆分窗口)这里有两种类型,一种是水平拆分,一种是垂直拆分。
JLayeredPane(分层窗口)这个就是如果两个组件重叠在一起了,用它可以使他们分开。
常用布局
任何容器都可以采用这些布局,使用方法setLayout(布局对象);
FlowLayout流动布局,这个布局是按照add的先后顺序从左往右排列,每一行中的组件都居中摆列,水平和垂直间隔默认为五个像素,在该布局的容器中使用setSize设置大小是无效的。
BorderLayout布局这个布局是采用东南西北中五个地方,中间的地方比较大,每加入一个组件都要指明要放在什么位置上。
CardLayout布局,该布局是重叠地放入容器中,最先是第一张,依次往下排列,该容器特点是在同一个容器当中一次只能显示一张,这个显示的组件将会占据所有的容器空间。
GridLayout网格布局,该布局就是将容器分成若干行乘以若干列,划分成不同的小块,而组件就在这些小块里,其顺序是组件加入顺序和第一行第一个到第n行第n个是划等号的
null布局就是空布局,就相当于在容器中加组件一样,这个布局可以设置组件的大小,通过setBounds(int x,int y,int width,int height)。
BoxLayout盒式布局,这个是可以利用容器的嵌套将某几个容器嵌入到几个盒式容器中,以达到布局的目的,其中createHorizontalBox()这个是获得一个行式盒式容器,createVerticalBox()这个是获得列式盒式布局,createHorizontalStruct(int width)水平支撑createVerticalStruct(int height)垂直支撑。