swing 显示边框

  1. packageAssis;
  2. importjava.awt.*;
  3. importjava.awt.event.*;
  4. importjavax.swing.border.*;
  5. importjavax.swing.*;
  6. publicclassBorderDemoextendsJFrame{
  7. privatestaticfinallongserialVersionUID=1L;
  8. publicBorderDemo(){
  9. //设置框架窗口的标题
  10. super("使用边框的例子");
  11. //定义5个简单类型的边框
  12. Borderblackline,etched,raisedbevel,loweredbevel,empty;
  13. //创建黑色的线状边框
  14. blackline=BorderFactory.createLineBorder(Color.black);
  15. //创建蚀刻边框
  16. etched=BorderFactory.createEtchedBorder();
  17. //创建凸出边框
  18. raisedbevel=BorderFactory.createRaisedBevelBorder();
  19. //创建凹陷边框
  20. loweredbevel=BorderFactory.createLoweredBevelBorder();
  21. //创建空的边框
  22. empty=BorderFactory.createEmptyBorder();
  23. //Firstpane:simpleborders
  24. JPanelsimpleBorders=newJPanel();
  25. simpleBorders.setLayout(newBoxLayout(simpleBorders,BoxLayout.Y_AXIS));
  26. addCompForBorder(blackline,"线状边框",simpleBorders);
  27. addCompForBorder(etched,"蚀刻边框",simpleBorders);
  28. addCompForBorder(raisedbevel,"凸出边框",simpleBorders);
  29. addCompForBorder(loweredbevel,"凹陷边框",simpleBorders);
  30. addCompForBorder(empty,"空的边框",simpleBorders);
  31. //Secondpane:titledborders
  32. JPaneltitledBorders=newJPanel();
  33. titledBorders.setLayout(newBoxLayout(titledBorders,BoxLayout.Y_AXIS));
  34. TitledBordertitled;
  35. titled=BorderFactory.createTitledBorder("title");
  36. addCompForBorder(titled,"defaulttitledborder"
  37. +"(defaultjust.,defaultpos.)",titledBorders);
  38. titled=BorderFactory.createTitledBorder(blackline,"title");
  39. addCompForTitledBorder(titled,"titledlineborder"
  40. +"(centered,defaultpos.)",TitledBorder.CENTER,
  41. TitledBorder.DEFAULT_POSITION,titledBorders);
  42. titled=BorderFactory.createTitledBorder(etched,"title");
  43. addCompForTitledBorder(titled,"titledetchedborder"
  44. +"(rightjust.,defaultpos.)",TitledBorder.RIGHT,
  45. TitledBorder.DEFAULT_POSITION,titledBorders);
  46. titled=BorderFactory.createTitledBorder(loweredbevel,"title");
  47. addCompForTitledBorder(titled,"titledloweredbevelborder"
  48. +"(defaultjust.,abovetop)",
  49. TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.ABOVE_TOP,
  50. titledBorders);
  51. titled=BorderFactory.createTitledBorder(empty,"title");
  52. addCompForTitledBorder(titled,"titledemptyborder"
  53. +"(defaultjust.,bottom)",
  54. TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.BOTTOM,
  55. titledBorders);
  56. //创建TabbledPane组件
  57. JTabbedPanetabbedPane=newJTabbedPane();
  58. tabbedPane.addTab("简单的边框",null,simpleBorders,null);
  59. tabbedPane.addTab("带有标题的边框",null,titledBorders,null);
  60. tabbedPane.setSelectedIndex(0);
  61. getContentPane().add(tabbedPane,BorderLayout.CENTER);
  62. }
  63. //添加带有标题的边框
  64. voidaddCompForTitledBorder(TitledBorderborder,Stringdescription,
  65. intjustification,intposition,Containercontainer){
  66. border.setTitleJustification(justification);
  67. border.setTitlePosition(position);
  68. addCompForBorder(border,description,container);
  69. }
  70. //添加简单的边框
  71. voidaddCompForBorder(Borderborder,Stringdescription,Containercontainer){
  72. JPanelcomp=newJPanel(false);
  73. JLabellabel=newJLabel(description,JLabel.CENTER);
  74. comp.setLayout(newGridLayout(1,1));
  75. comp.add(label);
  76. comp.setBorder(border);
  77. container.add(Box.createRigidArea(newDimension(0,10)));//设置间隔
  78. container.add(comp);
  79. }
  80. //程序的入口方法
  81. publicstaticvoidmain(String[]args){
  82. JFrameframe=newBorderDemo();
  83. //添加框架窗口的事件监听(监听关闭框架窗口事件)
  84. frame.addWindowListener(newWindowAdapter(){
  85. publicvoidwindowClosing(WindowEvente){
  86. //正常推出Java虚拟机
  87. System.exit(0);
  88. }
  89. });
  90. //显示框架窗口
  91. frame.pack();
  92. frame.setVisible(true);
  93. }
  94. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值