<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 閱讀(418) 評論(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++;
    ??? }
    ? }



    主站蜘蛛池模板: 国产青草视频在线观看免费影院| 香蕉免费一区二区三区| 182tv免费观看在线视频 | 特级毛片A级毛片免费播放| 成人爽A毛片免费看| 亚洲人成7777影视在线观看| 182tv免费观看在线视频| 亚洲av乱码一区二区三区香蕉| 67194熟妇在线永久免费观看| heyzo亚洲精品日韩| 亚洲国产成人高清在线观看| 亚洲国产区男人本色在线观看| 国产桃色在线成免费视频| 国产精品亚洲精品青青青| 妞干网在线免费观看| 亚洲人成网77777亚洲色| 国产午夜成人免费看片无遮挡| 91在线视频免费看| 亚洲精品国产suv一区88| 欧洲精品免费一区二区三区 | 黄网站色成年片大免费高清| 亚洲精品国产精品国自产观看| caoporm超免费公开视频| 久久亚洲国产视频| 久九九精品免费视频| 国产成人亚洲午夜电影| 100部毛片免费全部播放完整| 亚洲一区二区三区国产精品无码 | 久久亚洲中文字幕精品一区四| 亚洲天堂一区在线| 国产午夜精品理论片免费观看 | 亚洲黄片手机免费观看| 亚洲AV一宅男色影视| 一本岛v免费不卡一二三区| 国产亚洲人成无码网在线观看| 免费视频成人国产精品网站| 久久亚洲精品成人综合| 日本黄页网站免费| 国产在线一区二区综合免费视频| 亚洲国产激情在线一区| 国产成人亚洲影院在线观看|