第5章+边框..docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章边框.

第5章 边框、图标和动作   本章介绍Swing的三种实用工具:边框、图标和动作。   边框绘制在组件的边界周围,它有许多不同的各类:线边框、雕刻边框、不光滑的边框等等。边框本身不是组件,所以,它们绘制在指定组件的边衬中。   图标是图形对象,通常是一个小图像。与边框一样,图标在指定组件的指定位置上绘制。   动作封装图形用户界面的一个逻辑操作,并且还简化用户界面元素的构造工作。动作通常由一个或多个图标或文本字符串组成。可以把动作添加到某些容器中,这些容器创建一个组件与这个动作相关联。例如,利用JMenu.add(Action)方法,可把动作添加到一个菜单中。当一个动作添加到一个菜单中时,这个菜单用与这个动作相关联的文本和图标来创建一个菜单项并把这个菜单项添加到菜单中。   边框、图标和动作都是很有意义的,因为它们都可以与多个组件相关联。由于边框和图标都不是组件,但却都能绘制到组件中,所以,可以在支持使用边框和图标的多个组件中共享边框和图标。动作也必须被多个组件所共享,并且用来作为控制的中心点以维护与这个动作相关联的组件的启用状态。 5.1 边框   通过构造所需类型的边框,然后把这个边框传送给JComponent.setBorder(Border),所有JComponent扩展(JViewport除外)都可以有边框。虽然每个组件可以只有一个边框,但Swing支持组合边框。因此,在实际应用中,单个组件可以使数个边框嵌套在一起,使边框有一定的深度。   边框的使用很简单。例如,图5-1示出了一个带标题边框的JPanel实例。       图5-1 一个带标题边框的JPanel实例   例5-1例出了图5-1所示的小应用程序的代码。 例5-1 一个带边框的JPanel的小应用程序   import java.awt.BorderLayout;   import javax.swing.*;   import javax.swing.border.*;   public class Test extends JApplet {    public void init() {     JPanel panel = new JPanel();     panel.setBorder(new TitledBorder(JPanel Border));     getContentPane().add(panel, BorderLayout.CENTER);    }   }   这个小应用程序创建一个带标题的边框,这个边框传递给面板的setBorder方法。 5.1.1 边框和边衬   AWT容器有一个insets属性,它定义容器的边衬。布局管理器仔细地布局一个容器中的各个组件,以便这些组件不会侵占这个容器的边衬区。容器的insets属性是一个只读属性,修改AWT容器insets属性唯一的方法是子类化一个容器并重载它的getInsets方法。 5.1.2 Swing的边框类型 例5-2 显示所有Swing边框类型的小应用程序 import java.awt.*; import javax.swing.*; import javax.swing.border.*; public class Test extends JApplet { public void init() { JPanel jpanel = new AllBordersPanel(); getContentPane().add(jpanel, BorderLayout.CENTER); } } class AllBordersPanel extends JPanel { public AllBordersPanel() { JPanel bl = new PanelWithTitle(Bevel Lowered), br = new PanelWithTitle(Bevel Raised), c = new PanelWithTitle(Compound), l = new PanelWithTitle(Line), m = new PanelWithTitle(Matte), e = new PanelWithEmptyBorder(Empty), t = new PanelWithTitle(Titled), sbr = new PanelWithTitle(Soft Bevel Raised), sbl = new PanelWithTitle(Soft Bevel Lowered), el = new PanelWithTitle(Etched Lowe

文档评论(0)

s4c2bg5I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档