<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++;
    ??? }
    ? }



    主站蜘蛛池模板: 免费观看a级毛片| 午夜国产精品免费观看| 免费一级毛片在线播放不收费| 亚洲明星合成图综合区在线| 成全视频高清免费观看电视剧| 亚洲国产精品不卡毛片a在线| 国产成人亚洲精品无码AV大片| 美女黄网站人色视频免费国产| 亚洲www77777| 成全高清视频免费观看| 亚洲国产精品网站在线播放| a级毛片无码免费真人| 亚洲Aⅴ在线无码播放毛片一线天| 暖暖日本免费在线视频| 黄色网址免费在线| 久久久久亚洲AV成人网| 国产午夜无码精品免费看动漫| 亚洲gv猛男gv无码男同短文| 日韩人妻无码精品久久免费一| 亚洲AV人人澡人人爽人人夜夜| 222www免费视频| 亚洲av无码一区二区三区天堂古代 | 黄页网站在线看免费| 亚洲午夜理论片在线观看| 免费又黄又爽的视频| 伊人免费在线观看| 亚洲成a人片毛片在线| 成人毛片18女人毛片免费| 无遮挡呻吟娇喘视频免费播放| 久久久久国产亚洲AV麻豆 | 在线看免费观看AV深夜影院| 精品丝袜国产自在线拍亚洲| 国产在线a不卡免费视频| 91免费在线视频| 2020年亚洲天天爽天天噜| 伊人久久亚洲综合影院| 歪歪漫画在线观看官网免费阅读| 久久久久久亚洲精品影院| 五月婷婷亚洲综合| 老汉精品免费AV在线播放| 亚洲国产欧洲综合997久久|