《Java程序设计课件Java程序设计 (9).pdf》由会员分享,可在线阅读,更多相关《Java程序设计课件Java程序设计 (9).pdf(100页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java语言程序设计(第2版)第7章 图形用户界面(二)BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE容器层次结构是一个以顶层容器为根的树状组件集合为了显示在屏幕上,每个组件必须是一套容器层次结构的一部分每个组件只能放置在某个容器内一次如果某个组件已经在一个容器中,又将它加到另外一个容器中,这个组件就会从第一个容器中清除2BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
2、BBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学Swing的3个顶层容器类 JFrame、JApplet、JDialog。都是重量级组件,分别继承了AWT组件Frame、Applet和Dialog。每个顶层容器都有一个内容面板,通常直接或间接的容纳别的可视组件。可以有选择地为顶层容器添加菜单,菜单被放置在顶层容器上,但是在内容面板之外。3BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
3、BBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JFrame的继承结构java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Frame javax.swing.JFrame4BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
4、EEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JApplet的继承结构java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.awt.Applet javax.swing.JApplet5BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第
5、2版),郑莉,清华大学JDialog的继承结构java.lang.Object java.awt.Component java.awt.Container java.awt.Window java.awt.Dialog javax.swing.JDialog6BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学 JApplet类的顶层容器由浏览器提供,通常不需要自
6、己产生JApplet类的对象。JFrame和JDialog对象需要创建并通过构造方法初始化。如何获得一个顶层容器7BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学构造方法名称名称描述描述JFrame()JFrame()建立一个新的建立一个新的JFrameJFrame,默认是不可见的,默认是不可见的JFrame(String titleJFrame(String
7、 title)建立一个具有标题的建立一个具有标题的JFrameJFrame,默认是不可见的,默认是不可见的JApplet()JApplet()建立一个建立一个JAppletJAppletJDialog()JDialog()建立一个建立一个nonnon-moalmoal对话框,无标题对话框,无标题JDialog(Dialog owner)JDialog(Dialog owner)建立一个属于建立一个属于DialogDialog组件的对话框,为组件的对话框,为nonnon-modalmodal形式,无标题形式,无标题JDialog(Dialog owner,boolean modal)JDialo
8、g(Dialog owner,boolean modal)建立一个属于建立一个属于DialogDialog组件的对话框,可决定组件的对话框,可决定modalmodal形式,无标题形式,无标题JDialog(Dialog owner,String title)JDialog(Dialog owner,String title)建立一个属于建立一个属于DialogDialog组件的对话框,为组件的对话框,为nonnon-modalmodal形式,有标题形式,有标题8BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEE
9、EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE9JDialog(Dialog owner,String title,JDialog(Dialog owner,String title,boolean modal)boolean modal)建立一个属于建立一个属于DialogDialog组件的对话框,可决定组件的对话框,可决定modalmodal形式,有标题形式,有标题JDialog(Frame owner)JDialog(Frame owner)建立一个属于建立一个属于FrameFrame组件的对话框,为组件的对话框,为nonnon
10、-modalmodal形式,无标题形式,无标题JDialog(Frame owner,boolean modal)JDialog(Frame owner,boolean modal)建立一个属于建立一个属于FrameFrame组件的对话框,可决定组件的对话框,可决定modalmodal形式,无标题形式,无标题JDialog(Frame owner,String title)JDialog(Frame owner,String title)建立一个属于建立一个属于FrameFrame组件的对话框,为组件的对话框,为nonnon-modalmodal形式,有标题形式,有标题JDialog(Fram
11、e owner,String title,JDialog(Frame owner,String title,boolean modal)boolean modal)建立一个属于建立一个属于FrameFrame组件的对话框,可决定组件的对话框,可决定modalmodal形式,有标题形式,有标题构造方法BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学三个顶层容器的
12、例子10BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE例:FrameDemo.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class FrameDemo public static void main(String s)JFrame frame=new JFrame(FrameDemo);frame.
13、setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel emptyLabel=new JLabel();emptyLabel.setPreferredSize(new Dimension(175,100);frame.getContentPane().add(emptyLabel,BorderLayout.CENTER);frame.pack();frame.setVisible(true);引用自The Java Tutorials http:/ java.awt.*;import java.awt.event.*;import javax
14、.swing.*;public class TopLevelDemo public static void main(String s)JFrame frame=new JFrame(TopLevelDemo);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel yellowLabel=new JLabel();yellowLabel.setOpaque(true);yellowLabel.setBackground(Color.yellow);yellowLabel.setPreferredSize(new Dimensio
15、n(200,180);JMenuBar cyanMenuBar=new JMenuBar();cyanMenuBar.setOpaque(true);cyanMenuBar.setBackground(Color.cyan);cyanMenuBar.setPreferredSize(new Dimension(200,20);frame.setJMenuBar(cyanMenuBar);frame.getContentPane().add(yellowLabel,BorderLayout.CENTER);frame.pack();frame.setVisible(true);12引用自The
16、Java Tutorials http:/ 通过静态方法showDialog,可以产生四种简单的对话框 它们的方法参数中绝大部分(除了输入对话框可以不指定父窗口)都需要提供一个父窗口组件ParentComponent,只有关闭这些简单的对话框后,才可以返回到其父窗口,也就是说,它们绝大部分都是模态的BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE例:JOptionPaneDemo.java引用自The J
17、ava Tutorials http:/ java.awt.*;import java.awt.event.*;import javax.swing.*;public class JOptionPaneDemo extends JFrame implements ActionListener public JOptionPaneDemo()super(简单对话框);Container c=getContentPane();JButton button=new JButton(退出);button.addActionListener(this);c.setLayout(new FlowLayou
18、t();c.add(button);public void actionPerformed(ActionEvent e)/弹出对话框,并用变量select记录用户做的选择 int select=JOptionPane.showConfirmDialog(this,确定要退出吗?,确认,JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
19、EEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学结束语 这一节我们了解了Swing的顶层容器15BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE中间层容器存在的目的仅仅是为了容纳别的组件16BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
20、EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学中间层容器 一般用途的 JPanel JScrollPane JSplitPane JTabbedPane JToolBar 特殊用途的 JInternalFrame JRootPane(可以直接从顶层容器中获得)17BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑
21、莉,清华大学JRootPane的层次结构 glassPane 默认状态下是隐藏的。可以使用glassPane来截获所有要到达JRootPane别的部分的事件。layeredPane 分为很多层(layer),每层都有一个代表层深度的整数值(Z-order),深度值高的组件将覆盖在深度值低的组件上。contentPane 一般我们将所有组件添加到contentPane上。JmenuBar 是可选的,如果没有,contentPane就会充满整个顶层容器。18BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEE
22、EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JPanel 一种经常使用的轻量级中间容器。19BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JPanel 在默认状态下,除了背景色外不绘制任何东西。可以很容易的为它设置边框和绘制特性,有效地利用JPanel可以使版
23、面管理更为容易。可以使用布局管理器来规划它所容纳的组件的位置和大小 可以通过setLayout方法来改变其布局。也可以在创建一个JPanel对象时就为它确定某种布局方式。在默认状态下panel使用FlowLayout布局,将各组件布局在一行。20BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JPanel类常用API名称名称说明说明JPanel()JPanel
24、()创建一个创建一个JPanelJPanel,默认布局是,默认布局是FlowLayoutFlowLayoutJPanel(LayoutManager layout)JPanel(LayoutManager layout)创建一个指定布局的创建一个指定布局的JPanelJPanelvoid add(Component comp)void add(Component comp)添加组件添加组件void add(Component comp,int index)void add(Component comp,int index)把组件添加到特定位置上把组件添加到特定位置上int getCompone
25、ntCount()int getComponentCount()获得这个获得这个panelpanel里所有组件的数量里所有组件的数量Component getComponent(int index)Component getComponent(int index)获得指定序号的某个组件获得指定序号的某个组件Component getComponentAt(int x,int y)Component getComponentAt(int x,int y)获得指定位置的某个组件获得指定位置的某个组件void remove(Component)void remove(Component)移除某个组件
26、移除某个组件void removeAll()void removeAll()移除所有组件移除所有组件void setLayout(LayoutManager layout)void setLayout(LayoutManager layout)设置布局设置布局LayoutManager getLayout()LayoutManager getLayout()得到现有布局得到现有布局void setBorder(Border border)void setBorder(Border border)设置边框设置边框21BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
27、BBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JScrollPane22BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JScrollPane JScrollPane容器 容器有滚动条,通过拖动滑块,就
28、可以看到更多的内容。由九个部分组成,包括一个中心显示地带、四个角和四条边23BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JScrollPane常用API名称名称说明说明static int HORIZONTAL_SCROLLBAR_ALWAYSstatic int HORIZONTAL_SCROLLBAR_ALWAYS水平滚动条策略常数:总是显示水平滚动条
29、策略常数:总是显示static int HORIZONTAL_SCROLLBAR_AS_NEEDEDstatic int HORIZONTAL_SCROLLBAR_AS_NEEDED水平滚动条策略常数:当显示内容水平区域大于显示区域时才出现水平滚动条策略常数:当显示内容水平区域大于显示区域时才出现static int HORIZONTAL_SCROLLBAR_NEVERstatic int HORIZONTAL_SCROLLBAR_NEVER水平滚动条策略常数:总是不显示水平滚动条策略常数:总是不显示static int VERTICAL_SCROLLBAR_ALWAYSstatic int
30、VERTICAL_SCROLLBAR_ALWAYS垂直滚动条策略常数:总是显示垂直滚动条策略常数:总是显示static int VERTICAL_SCROLLBAR_AS_NEEDEDstatic int VERTICAL_SCROLLBAR_AS_NEEDED垂直滚动条策略常数:当显示内容垂直区域大于显示区域时才出现垂直滚动条策略常数:当显示内容垂直区域大于显示区域时才出现static int VERTICAL_SCROLLBAR_NEVERstatic int VERTICAL_SCROLLBAR_NEVER垂直滚动条策略常数:总是不显示垂直滚动条策略常数:总是不显示JScrollPane
31、()JScrollPane()建立一个空的建立一个空的JScrollPaneJScrollPane对象对象JScrollPane(Component viewJScrollPane(Component view)建立一个显示组件的建立一个显示组件的JScrollPaneJScrollPane对象,当组件内容大于显示区域对象,当组件内容大于显示区域时,自动产生滚动条时,自动产生滚动条24BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
32、EEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JScrollPane常用APIvoid setViewportView(Component)void setViewportView(Component)设置设置JscrollPaneJscrollPane中心地带要显示的组件中心地带要显示的组件void setVerticalScrollBarPolicy(int)void setVerticalScrollBarPolicy(int)int getVerticalScrollBarPolicy()int getVerticalScrollBarPolicy()设置或
33、者读取垂直滚动条策略常数,参数为本类的静态常量设置或者读取垂直滚动条策略常数,参数为本类的静态常量void setHorizontalScrollBarPolicy(int)void setHorizontalScrollBarPolicy(int)int getHorizontalScrollBarPolicy()int getHorizontalScrollBarPolicy()设置或者读取水平滚动条策略常数,参数为本类的静态常量设置或者读取水平滚动条策略常数,参数为本类的静态常量void setViewportBorder(Border)void setViewportBorder(Bo
34、rder)Border getViewportBorder()Border getViewportBorder()设置或者读取中心显示地带的边框设置或者读取中心显示地带的边框void setWheelScrollingEnabled(Boolean)void setWheelScrollingEnabled(Boolean)Boolean isWheelScrollingEnabled()Boolean isWheelScrollingEnabled()设置或者读取是否随着鼠标滚轮滚动出现或隐藏滚动条,默认状设置或者读取是否随着鼠标滚轮滚动出现或隐藏滚动条,默认状态下为真态下为真void se
35、tColumnHeaderView(Component)void setColumnHeaderView(Component)void setRowHeaderView(Component)void setRowHeaderView(Component)设置显示在上面的边上的组件设置显示在上面的边上的组件设置显示在左面的边上的组件设置显示在左面的边上的组件void setCorner(String key,Component corner)void setCorner(String key,Component corner)设置要显示在指定角上的组件,设置要显示在指定角上的组件,keykey表
36、示角的字符串表示角的字符串Component getCorner(String key)Component getCorner(String key)获得指定角上的组件获得指定角上的组件25BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学例:ScrollDemo2.Java26人像+文字BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
37、BBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE例:ScrollDemo2.Java引用自The Java Tutorials http:/ javax.swing.*;import javax.swing.event.MouseInputAdapter;import java.awt.*;import java.awt.event.*;import java.util.*;public class ScrollDemo2 extends JPanel private Dime
38、nsion size;/indicates size taken up by graphics private Vector objects;/rectangular coordinates used to draw graphics private final Color colors=Color.red,Color.blue,Color.green,Color.orange,Color.cyan,Color.magenta,Color.darkGray,Color.yellow;private final int color_n=colors.length;JPanel drawingAr
39、ea;public ScrollDemo2()BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学结束语 这一节我们了解了:JRootPane的层次结构 JPanel JScrollPaneBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
40、EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE29BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JSplitPane30BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
41、EEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JSplitPane 可以把两个组件显示在两个显示区域内,且随着区域间分隔线的拖动,区域内组件的大小也随之发生变动。它允许设置水平分割或者垂直分割;也允许设置动态拖曳功能(拖动分界线时两边组件是否会随着拖曳动态改变大小还是在拖曳结束后才改动)。我们通常先把组件放到Scroll Pane中,再把Scroll Pane放到Split Pane中。这样在每部分窗口中,都可以拖动滚动条看到组件的全部内容。31BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEE
42、EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JSplitPane常用API名称名称说明说明static int HORIZONTAL_SPLITstatic int HORIZONTAL_SPLIT水平分割常数水平分割常数static int VERTICAL_SPLITstatic int VERTICAL_SPLIT垂直分割常数垂直分割常数JSplitPane()JSplitPane()创建一个创建一个JSplitPaneJSplitPane,以水平方向排列,两边各是一个,以水平方
43、向排列,两边各是一个buttonbutton,没有动态,没有动态拖曳功能拖曳功能JSplitPane(int newOrientation)JSplitPane(int newOrientation)建立一个指定分割方向的建立一个指定分割方向的JSplitPaneJSplitPane,没有动态拖曳功能,参数为两个分,没有动态拖曳功能,参数为两个分割常数之一割常数之一JSplitPane(int newOrientation,JSplitPane(int newOrientation,Boolean newContinuousLayout)Boolean newContinuousLayout)
44、指定分割方向,并可指定是否有动态拖曳功能指定分割方向,并可指定是否有动态拖曳功能JSplitPane(int newOrientation,JSplitPane(int newOrientation,Boolean newContinuousLayout,Boolean newContinuousLayout,Component newLeftComponent,Component newLeftComponent,Component newRightComponent)Component newRightComponent)指定分割方向、是否具有动态拖曳功能,和两侧组件指定分割方向、是否具有
45、动态拖曳功能,和两侧组件32BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEJava语言程序设计(第2版),郑莉,清华大学JSplitPane常用APIJSplitPane(int newOrientation,JSplitPane(int newOrientation,Component newLeftComponent,Component newLeftComponent,Component newR
46、ightComponent)Component newRightComponent)指定分割方向和两侧组件,无自动拖曳功能指定分割方向和两侧组件,无自动拖曳功能void setOrientation(int newOrientation)void setOrientation(int newOrientation)int getOrientation()int getOrientation()设置或获得分割方向设置或获得分割方向void setDividerSize(int)void setDividerSize(int)int getDividerSize()int getDividerSi
47、ze()设置或读取分隔线条的粗细设置或读取分隔线条的粗细void setContinuousLayout(boolean nCL)void setContinuousLayout(boolean nCL)boolean isContinuousLayout()boolean isContinuousLayout()设置或读取是否使用动态拖曳功能设置或读取是否使用动态拖曳功能void setOneTouchExpandable(Boolean oTE)void setOneTouchExpandable(Boolean oTE)boolean is OneTouchExpandable()boo
48、lean is OneTouchExpandable()设置或读取是否在分隔线上显示一个控键来完全扩展和完全压缩单侧设置或读取是否在分隔线上显示一个控键来完全扩展和完全压缩单侧内容。内容。void remove(Component comp)void remove(Component comp)void add(Component comp)void add(Component comp)删除或添加组件。只可以添加两个组件删除或添加组件。只可以添加两个组件void setDividerLocation(double)void setDividerLocation(double)void set
49、DividerLocation(int)void setDividerLocation(int)int getDividerLocation()int getDividerLocation()设置或读取分隔线条的位置。设置参数可以是设置或读取分隔线条的位置。设置参数可以是doubledouble型的百分数,也型的百分数,也可以是可以是intint型的象素值型的象素值33BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
50、EEEEEEJava语言程序设计(第2版),郑莉,清华大学例:SplitPaneDemo.Java34BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE例:SplitPaneDemo.Java imagenames.propertiesBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE