2015-03-06 5 views
3

Подсказки Я хочу добавить Balloon Tips к Cell в JTable, которые ведут себя как Tooltips .Я имею в виду, когда мышь Поступил на Cell он появляется и исчезает через некоторое время (то же самое как Tooltips Но не Tooltip). Я пробовал это, но не работал для меня так, как предполагалось.Как добавить Balloon Советы Клетка в JTable, которые ведут себя как

@Override 
public Component getTableCellRendererComponent(JTable table, Object value, 
     boolean isSelected, boolean hasFocus, int row, int column) { 

    final JLabel lable = new JLabel(value.toString()); 

    EdgedBalloonStyle style = new EdgedBalloonStyle(new Color(255, 253, 245), 
      new Color(64, 64, 64)); 
    BalloonTip tooltipBalloon = new BalloonTip(lable, new JLabel(value.toString()), style, new LeftAbovePositioner(15, 10), null); 
    ToolTipUtils.balloonToToolTip(tooltipBalloon, 400, 2000); 

    return lable; 
} 

это ничего не делало. А также я попробовал этот

@Override 
public Component getTableCellRendererComponent(JTable table, Object value, 
     boolean isSelected, boolean hasFocus, int row, int column) { 

    final JLabel lable = new JLabel(value.toString()); 

    EdgedBalloonStyle style = new EdgedBalloonStyle(new Color(255, 253, 245), new Color(64, 64, 64)); 
    TablecellBalloonTip tcb = new TablecellBalloonTip(table, new JLabel(value.toString()), 
      row, column, style, BalloonTip.Orientation.LEFT_ABOVE, 
      BalloonTip.AttachLocation.ALIGNED, 30, 10, false); 

    return lable; 
} 

это только работа, как Balloon Tip не то, что я искал. Любые предложения?

ответ

1

я думаю, что проблема в том, что вы добавляете ваш отзыв на баллон вновь созданного JLabel ...

... попробуйте добавить его на ваш renderedCellCopmponent:

@Override 
public Component getTableCellRendererComponent(JTable table, Object value, 
    boolean isSelected, boolean hasFocus, int row, int column) { 

    final JLabel lable = new JLabel(value.toString()); 

    EdgedBalloonStyle style = new EdgedBalloonStyle(new Color(255, 253, 245), new Color(64, 64, 64)); 

    //look, here is your mistake: you append it onto a new JLabel 
    //TablecellBalloonTip tcb = new TablecellBalloonTip(table, 
    //  new JLabel(value.toString()), row, column, style, 
    //  BalloonTip.Orientation.LEFT_ABOVE, 
    //  BalloonTip.AttachLocation.ALIGNED, 30, 10, false); 

    //instead append it on your rendered Component 
    TablecellBalloonTip tcb = new TablecellBalloonTip(table, 
     lable, // !!here!! 
     row, column, style, BalloonTip.Orientation.LEFT_ABOVE, 
     BalloonTip.AttachLocation.ALIGNED, 30, 10, false); 

    return lable; 
} 

я надеюсь, что работает. ..

 Смежные вопросы

  • Нет связанных вопросов^_^