zoukankan      html  css  js  c++  java
  • Swing 边框的小总结(转)

    对Swing Border的一个小总结:
    使用方法:
    TitledBorder nameTitle =new TitledBorder("FileName List");
    JPanel panel1 = new new JPanel()
    panel1.setBorder(nameTitle);
    TitledBorder 该类实现在指定位置以指定对齐方式显示字符串标题的任意边框。
    EtchedBorder 该类实现简单的浮雕化边框,它既可以是阴刻浮雕化边框,也可以是LineBorder  阳刻浮雕化边框。如果创建边框时未初始化任何高亮/阴影颜色,则这些颜色将从传递给 paintBorder() 方法的组件参数的背景色动态派生。
    实现单色、任意厚度线边框的类。
    MatteBorder 该类提供类似衬边的边框,衬边图案既可以是纯色也可以是平铺的图标。
    BevelBorder 该类实现简单的双线斜面边框。
    SoftBevelBorder实现某种斜面的类,这种斜面要么凸出要么凹入且拐角圆滑。
    CompoundBorder一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。

     
     
     
     
     
     
     
     
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.GridLayout;
    
    import javax.swing.JApplet;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.border.BevelBorder;
    import javax.swing.border.Border;
    import javax.swing.border.CompoundBorder;
    import javax.swing.border.EtchedBorder;
    import javax.swing.border.LineBorder;
    import javax.swing.border.MatteBorder;
    import javax.swing.border.SoftBevelBorder;
    import javax.swing.border.TitledBorder;
    
    public class Borders extends JApplet {
      static JPanel showBorder(Border b) {
        JPanel jp = new JPanel();
        jp.setLayout(new BorderLayout());
        String nm = b.getClass().toString();
        nm = nm.substring(nm.lastIndexOf('.') + 1);
        jp.add(new JLabel(nm, JLabel.CENTER), BorderLayout.CENTER);
        jp.setBorder(b);
        return jp;
      }
    
      public void init() {
        Container cp = getContentPane();
        cp.setLayout(new GridLayout(2, 4));
        cp.add(showBorder(new TitledBorder("Title")));
        cp.add(showBorder(new EtchedBorder()));
        cp.add(showBorder(new LineBorder(Color.BLUE)));
        cp.add(showBorder(new MatteBorder(5, 5, 30, 30, Color.GREEN)));
        cp.add(showBorder(new BevelBorder(BevelBorder.RAISED)));
        cp.add(showBorder(new SoftBevelBorder(BevelBorder.LOWERED)));
        cp.add(showBorder(new CompoundBorder(new EtchedBorder(),
            new LineBorder(Color.RED))));
      }
    
      public static void main(String[] args) {
        run(new Borders(), 500, 300);
      }
    
      public static void run(JApplet applet, int width, int height) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(applet);
        frame.setSize(width, height);
        applet.init();
        applet.start();
        frame.setVisible(true);
      }
    }
     
    来源:
    http://javapub.iteye.com/blog/676699
    以下是效果图:
     
     
  • 相关阅读:
    OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID
    Missing value auth-url required for auth plugin password
    解决eth0网卡无法自动加载的问题
    Linux中一个网卡含有多个IP,将从IP升级为主IP的方法
    Ubuntu系统上双节点部署OpenStack
    Ubuntu系统上All-in-one部署OpenStack
    ubuntu系统中添加DNS服务器地址后诡异消失的解决办法
    解决Ubuntu14.04安装Chrome浏览器打不开的问题
    搭建HBase的本地模式、伪分布式、全分布式和HA模式
    PostgreSQL 与 MySQL 相比,优势何在?【转】
  • 原文地址:https://www.cnblogs.com/zhang747725388/p/2282313.html
Copyright © 2011-2022 走看看