1 package org.antlr.works.tips; 2 3 import org.antlr.xjlib.appkit.frame.XJFrameInterface; 4 import org.antlr.works.tooltip.ToolTipList; 5 import org.antlr.works.tooltip.ToolTipListDelegate; 6 import org.antlr.works.utils.OverlayObject; 7 8 import javax.swing.*; 9 import java.awt.*; 10 import java.util.Iterator ; 11 import java.util.List ; 12 42 43 public class TipsOverlay extends OverlayObject implements ToolTipListDelegate { 44 45 protected ToolTipList toolTip; 46 protected Point location; 47 48 public TipsOverlay(XJFrameInterface parentFrame, JComponent parentComponent) { 49 super(parentFrame, parentComponent); 50 } 51 52 public void setTips(List<String > tips) { 53 toolTip.clear(); 54 for(Iterator <String > iter = tips.iterator(); iter.hasNext();) { 55 toolTip.addLine(iter.next()); 56 } 57 toolTip.selectFirstLine(); 58 } 59 60 public void setLocation(Point location) { 61 this.location = location; 62 resize(); 63 } 64 65 public JComponent overlayCreateInterface() { 66 JPanel panel = new JPanel(new BorderLayout()); 67 68 toolTip = new ToolTipList(this); 69 panel.add(toolTip, BorderLayout.CENTER); 70 71 return panel; 72 } 73 74 public void resize() { 75 toolTip.resize(); 76 if(location != null) 77 content.setBounds(location.x, location.y, toolTip.getWidth(), toolTip.getHeight()); 78 } 79 80 public boolean overlayWillDisplay() { 81 return true; 82 } 83 84 public void toolTipListHide() { 85 hide(); 86 } 87 } 88 89 | Popular Tags |