import java.awt.Container; import java.awt.Rectangle; import java.awt.Robot; import java.lang.reflect.Method; import javax.swing.JButton; import org.netbeans.core.windows.view.ui.tabcontrol.TabbedAdapter; import org.netbeans.core.windows.view.ui.tabcontrol.ViewTabUI; import org.openide.windows.TopComponent; public class TestControlButtons { public static void main(String[] args) throws Exception { testLeftArrowButton(); testControlButtons(); System.out.println("Finished."); } public static void testControlButtons() throws Exception { TopComponent tc = findTC("TestControlButtons"); TabbedAdapter ta = (TabbedAdapter)(tc.getParent().getParent()); ViewTabUI tabsUI = ta.getTabsDisplayer().getTabsUI(); Class clazz = Class.forName("org.netbeans.core.windows.view.ui.tabcontrol.ScrollableTabsUI"); Method method = clazz.getDeclaredMethod("controlButtonRect", new Class[] {int.class, Rectangle.class}); method.setAccessible(true); Rectangle result0 = new Rectangle(); method.invoke(tabsUI, new Object[] {new Integer(0), result0}); System.out.println("RIGHT CONTROL BUTTONS:-----------------------------------------"); System.out.println("RESULT="+result0); Rectangle result1 = new Rectangle(); method.invoke(tabsUI, new Object[] {new Integer(1), result1}); System.out.println("RESULT="+result1); Rectangle result2 = new Rectangle(); method.invoke(tabsUI, new Object[] {new Integer(2), result2}); System.out.println("RESULT="+result2); Container container = (Container)ta.getTabsDisplayer().getComponent(); System.out.println("CONTAINER="+container); } public static void testLeftArrowButton() throws Exception { TopComponent tc = findTC("TestControlButtons"); TabbedAdapter ta = (TabbedAdapter)(tc.getParent().getParent()); ViewTabUI tabsUI = ta.getTabsDisplayer().getTabsUI(); Class clazz = Class.forName("org.netbeans.core.windows.view.ui.tabcontrol.ScrollableTabsUI"); Method method1 = clazz.getDeclaredMethod("arrowButtonRect", new Class[] {Rectangle.class}); method1.setAccessible(true); Rectangle result = new Rectangle(); method1.invoke(tabsUI, new Object[] {result}); System.out.println("LEFT ARROW BUTTON:-----------------------------------------"); System.out.println("RESULT="+result); } public static TopComponent findTC(String name) { Object tc[]=TopComponent.getRegistry().getOpened().toArray(); for(int i=0;i