布局管理和控件(总结)

有错,请指点,莫怪小子。

[布局管理器类对容器作用]
【流(对齐方式)】布局管理器类:FlowLayout类;
FlowLayout flowlayout = new FlowLayout(FlowLayout.[LEFT\RIGHT\CENTER]);
JFrame f = new JFrame();
JPanel p = new JPane();
f.getContentPane().add(p);
p.setLayout(flowlayout);

【边界(方位方式)】布局管理器类:BorderLayout类;
JFrame f = new JFrame();
JPanel p = new Jpanel();
BorderLayout borderlayout = new BorderLayout();
p.add(new JButton("str"),borderlayout.NORTH北\SOUTH南\EAST东\WEST西\CENTER中)
f.getContentPane().add(p);

【格子(表格方式)】布局管理器类:GridLayout类;
JFrame f = new JFrame();
JPanel p = new JPanel();
GridLayout gridlayout = new GridLayout(int,int);//行数,列数
p.add(new JButton(str));//添加到第一个格子
f.getContentPane().add(p);

【卡片(切换方式)】布局管理器类:CardLayout类;
JFrame f = new JFrame();
JPanel p = new JPanel();
CardLayout cardlayout = new CardLayout();
//触发器——当触发某事发生
cardlayout.first\last\next\previous(p);//第一张、最后张、下一张、上一张
cardlayout.show(p,objname)//指定objname控件到p面板中

【GridBag(定点方式)】布局管理器:GridBaglayout类;
JFrame f = new JFrame();
JPanel p = new JPanel();
GUItype name = new GUItype();

//定点设置
GridBayConstraints gridbayconstraints;
gridbayconstraints.gridwidth = int;
gridbayconstraints.gridheight = int;
gridbayconstraints.gridwidth\height.NONE/HORIZONTAL/VERTICAL/BOTH

GridBagLayout gridbaglayout = new GridBagLayout();
gridbaylayout.setConstraints(name,gridbagstraints);
p.add(name);


顶层容器:
JFrame(外部窗口) JApple(音图) JDialog(对话框) JWindow(顶层窗口)

中层容器:
JPanel(面板) JScrollPane(滚动面板) JSplitPane(分隔面板) JToolBar(工具栏)

特殊容器:
JInternalFrame(内部框架) JLayeredPane(分层面板) JRootPane(根面板)

高级组件:
JMenuBar(菜单栏) JMenu(下拉式菜单) JMenuItem(菜单项) JPopupMenu(弹出式菜单)

JTree(树)【先把str[]放进Hashtable(哈希对象),才能放入树里】

基本组件:
JButton(按钮) JComboBox(下拉类表) JList(列表) JMenu(菜单) JTextFiled(单行文本框)

JOptionPane(对话框) JCheckBox(单选按钮) JRadioButton(复选按钮)【需要放进按钮组,不然无效】

显示不可编辑信息的组件:
JLabel(标签) JProgressBar(进度条) ToolTip(工具提示)

显示可编辑信息的组件:
JColorChooser(颜色选择器) JFileChooser(文件选择器) JTable(表格) JTextArea(多行文本框)

规则:
Swing组件不能直接加入到顶层容器(框架),必须先放入与顶层容器相关连得内容面板


构造格式:(getGUItype——获取GUItype的什么\setGUItype——设置GUItype的什么)
JFrame frame = new JFrame("Frame");
GUIPaneltype name1 = new GUIPaneltype([str]);
GUItype name2 = new GUItype([str\str[]\int]);
name1.add(name2); //将组件加入内容面板
frame.setContentPane(name1); //讲name1设置为顶层容器的内容面板
frame.setVisible(boolean);设置frame是否显示
frame.setSize(int,int);设置frame显示大小
frame.remove(name1);//移除name1

posted on 2014-04-20 13:36  SimpleMaze  阅读(287)  评论(0编辑  收藏  举报