您的位置:首页 > 其它

swing组合边框(CompoundBorder)

2013-11-29 00:16 316 查看
快速开发简单CompoundBorder

目录:

red outsideBorder and blue insidBorder
compound border(tow bevel border)
tow bevel border add red outline
compound border(tow bevel border and red outline add blue inline
compound border(tow bevel border and red outline add blue inline add leftTitle
主要方法:
效果图



  java代码如下

package cn.cun.border;

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;

public class CompoundBorder extends JFrame {
public CompoundBorder() {
initUI();
}

private void initUI() {
Border emptyPanl,redlineBorder
,loweredBevelBorder,raisedBevelBorder
,blueLineBorder;
emptyPanl = BorderFactory.createEmptyBorder(10, 10, 10, 10);
redlineBorder = BorderFactory.createLineBorder(Color.red);
blueLineBorder = BorderFactory.createLineBorder(Color.BLUE);
loweredBevelBorder = BorderFactory.createLoweredBevelBorder();
raisedBevelBorder = BorderFactory.createRaisedBevelBorder();

JPanel compoundBorder = new JPanel();
compoundBorder.setBorder(emptyPanl);
compoundBorder.setLayout(new BoxLayout(compoundBorder, BoxLayout.Y_AXIS));

Border compound;
compound = BorderFactory
.createCompoundBorder(redlineBorder, blueLineBorder);
addCompForBorder(compound,
"compound border " +
"(red outsideBorder and blue insidBorder)"
,compoundBorder);

compound = BorderFactory
.createCompoundBorder(raisedBevelBorder, loweredBevelBorder);
addCompForBorder(compound,
"compound border(tow bevel border)"
,compoundBorder);

compound = BorderFactory
.createCompoundBorder(redlineBorder, compound);
addCompForBorder(compound,
"compound border" +
"(tow bevel border add red outline)"
,compoundBorder);

compound = BorderFactory
.createCompoundBorder(compound, blueLineBorder);
addCompForBorder(compound,
"compound border(tow bevel border " +
"and red outline add blue inline)"
,compoundBorder);

compound = BorderFactory
.createTitledBorder(compound ,"title"
, TitledBorder.LEFT, TitledBorder.CENTER);
addCompForBorder(compound,
"compound border(tow bevel border and red " +
"outline add blue inline add leftTitle)"
,compoundBorder);

JTabbedPane jTabbedPane = new JTabbedPane();
jTabbedPane.setToolTipText("compoundBorder");
jTabbedPane.addTab("compoundBorder", compoundBorder);
this.add(jTabbedPane);
//this.getContentPane().add(jTabbedPane);
}

private void addCompForBorder(Border border,String lable,Container container) {
JPanel comp = new JPanel(false);
JLabel label = new JLabel(lable, JLabel.CENTER);
comp.setLayout(new GridLayout(1, 1));
comp.add(label);
comp.setBorder(border);

container.add(Box.createRigidArea(new Dimension(0, 10)));
container.add(comp);
}

public static void main(String[] args) {
JFrame frame = new CompoundBorder();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(500,500));
frame.pack();
frame.setVisible(true);
}
}


主要方法:

      createCompoundBorder(outsideBorder, insideBorder)

      outsideBorder:组合边框的外边框

      insideBorder:组合边框的内边框

     返回值:Border

                                                  ||==========》  《===

===》《=========||

效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: