<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    rednight

    0x2B|~0x2B,That's not a question,Just do it.
    posts - 32, comments - 14, trackbacks - 0, articles - 0

    groupable header table

    Posted on 2006-11-08 21:05 rednight 閱讀(414) 評(píng)論(0)  編輯  收藏
    public class GroupableHeaderExample extends JFrame {

    ? GroupableHeaderExample() {
    ??? super( "Groupable Header Example" );

    ??? DefaultTableModel dm = new DefaultTableModel();
    ??? dm.setDataVector(new Object[][]{
    ????? {"119","foo","bar","ja","ko","zh"},
    ????? {"911","bar","foo","en","fr","pt"}},
    ??? new Object[]{"SNo.","1","2","Native","2","3"});

    ??? JTable table = new JTable( dm ) {
    ????? protected JTableHeader createDefaultTableHeader() {
    ? return new GroupableTableHeader(columnModel);
    ????? }
    ??? };
    ??? TableColumnModel cm = table.getColumnModel();
    ??? ColumnGroup g_name = new ColumnGroup("Name");
    ??? g_name.add(cm.getColumn(1));
    ??? g_name.add(cm.getColumn(2));
    ??? ColumnGroup g_lang = new ColumnGroup("Language");
    ??? g_lang.add(cm.getColumn(3));
    ??? ColumnGroup g_other = new ColumnGroup("Others");
    ??? g_other.add(cm.getColumn(4));
    ??? g_other.add(cm.getColumn(5));
    ??? g_lang.add(g_other);
    ??? GroupableTableHeader header = (GroupableTableHeader)table.getTableHeader();
    ??? header.addColumnGroup(g_name);
    ??? header.addColumnGroup(g_lang);

    ??? TableCellRenderer renderer =? new DefaultTableCellRenderer() {
    ??????? public Component getTableCellRendererComponent(JTable table, Object value,
    ???????????????????????? boolean isSelected, boolean hasFocus, int row, int column) {
    ????????? JTableHeader header = table.getTableHeader();
    ????????? if (header != null) {
    ??????????? setForeground(header.getForeground());
    ??????????? setBackground(header.getBackground());
    ??????????? setFont(header.getFont());
    ????????? }
    ????????? setHorizontalAlignment(JLabel.CENTER);
    ????????? setText((value == null) ? "" : value.toString());
    ????????? setBorder(UIManager.getBorder("TableHeader.cellBorder"));
    ????????? return this;
    ??????? }
    ????? };

    ??? TableColumnModel model = table.getColumnModel();
    ??? for (int i=0;i<model.getColumnCount();i++) {
    ????? model.getColumn(i).setHeaderRenderer(renderer);
    ??? }
    ??? JScrollPane scroll = new JScrollPane( table );
    ??? getContentPane().add( scroll );
    ??? setSize( 400, 120 );
    ? }

    ? public static void main(String[] args) {
    ??? GroupableHeaderExample frame = new GroupableHeaderExample();
    ??? frame.addWindowListener( new WindowAdapter() {
    ????? public void windowClosing( WindowEvent e ) {
    ? System.exit(0);
    ????? }
    ??? });
    ??? frame.setVisible(true);
    ? }
    }

    =============================================
    public void paint(Graphics g, JComponent c) {
    ??? Rectangle clipBounds = g.getClipBounds();
    ??? if (header.getColumnModel() == null) return;
    //??? ((GroupableTableHeader)header).setColumnMargin();
    ??? int column = 0;
    ??? Dimension size = header.getSize();
    ??? Rectangle cellRect? = new Rectangle(0, 0, size.width, size.height);
    ??? Hashtable h = new Hashtable();
    //??? int columnMargin = header.getColumnModel().getColumnMargin();

    ??? Enumeration enumeration = header.getColumnModel().getColumns();
    ??? while (enumeration.hasMoreElements()) {
    ????? cellRect.height = size.height;
    ????? cellRect.y????? = 0;
    ????? TableColumn aColumn = (TableColumn)enumeration.nextElement();
    ????? Enumeration cGroups = ((GroupableTableHeader)header).getColumnGroups(aColumn);
    ????? if (cGroups != null) {
    ??????? int groupHeight = 0;
    ??????? while (cGroups.hasMoreElements()) {
    ????????? ColumnGroup cGroup = (ColumnGroup)cGroups.nextElement();
    ????????? Rectangle groupRect = (Rectangle)h.get(cGroup);
    ????????? if (groupRect == null) {
    ??????????? groupRect = new Rectangle(cellRect);
    ??????????? Dimension d = cGroup.getSize(header.getTable());
    ??????????? groupRect.width? = d.width;
    ??????????? groupRect.height = d.height;
    ??????????? h.put(cGroup, groupRect);
    ????????? }
    ????????? paintCell(g, groupRect, cGroup);
    ????????? groupHeight += groupRect.height;
    ????????? cellRect.height = size.height - groupHeight;
    ????????? cellRect.y????? = groupHeight;
    ??????? }
    ????? }
    ????? cellRect.width = aColumn.getWidth() ;//+ columnMargin;
    ????? if (cellRect.intersects(clipBounds)) {
    ??????? paintCell(g, cellRect, column);
    ????? }
    ????? cellRect.x += cellRect.width;
    ????? column++;
    ??? }
    ? }



    主站蜘蛛池模板: 亚洲综合最新无码专区| 免费观看午夜在线欧差毛片| 亚洲三区在线观看无套内射| 日本一区二区三区免费高清在线| 一级毛片直播亚洲| 一本大道一卡二大卡三卡免费| 亚洲精品第一国产综合境外资源 | 中文字幕在线免费视频| 亚洲人成伊人成综合网久久久 | 国产AV无码专区亚洲AVJULIA | 四虎国产精品永免费| 亚洲一级毛片免费观看| 国产h肉在线视频免费观看| 亚洲人成图片网站| 四虎影视永久免费观看地址 | 在线观看亚洲电影| 亚洲一区二区三区国产精品| 久久免费视频一区| 精品日韩亚洲AV无码| 免费人成在线视频| 无遮挡免费一区二区三区| 亚洲精品无码成人片久久| 亚洲免费观看在线视频| 亚洲人成色77777在线观看| mm1313亚洲精品无码又大又粗| 一级毛片视频免费| 亚洲高清无在码在线无弹窗 | 一二三四免费观看在线视频中文版 | 国产精品久久香蕉免费播放| 亚洲福利一区二区三区| 成全高清视频免费观看| 日韩精品无码免费视频| 666精品国产精品亚洲| 日本高清色本免费现在观看| 国产一级黄片儿免费看| 亚洲成A∨人片在线观看无码| 国产精品高清全国免费观看| 黄网站免费在线观看| 丰满亚洲大尺度无码无码专线| 亚洲人成中文字幕在线观看| 成人av免费电影|