List of usage examples for java.awt.event KeyEvent VK_V
int VK_V
To view the source code for java.awt.event KeyEvent VK_V.
Click Source Link
From source file:ru.goodfil.catalog.ui.forms.OePanel.java
private void lstOesKeyPressed(KeyEvent e) { if (e != null) { if (e.getKeyCode() == KeyEvent.VK_INSERT) { btnCreateOeActionPerformed(null); }//w w w. jav a2 s .c o m if (e.getKeyCode() == KeyEvent.VK_DELETE) { btnRemoveOeActionPerformed(null); } if (e.getKeyCode() == KeyEvent.VK_SPACE) { btnEditOeActionPerformed(null); } if ((e.getKeyCode() == KeyEvent.VK_X) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { List<Oe> selectedOes = oes.getSelectedItems(); putObjectToMyClipboard(selectedOes); this.setOperation(OPERATION_CUT); } if ((e.getKeyCode() == KeyEvent.VK_C) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { List<Oe> selectedOes = oes.getSelectedItems(); putObjectToMyClipboard(selectedOes); this.setOperation(OPERATION_COPY); } if ((e.getKeyCode() == KeyEvent.VK_V) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { if (popupMenu1.getInvoker() == lstOes) { List<Oe> selectedOes = new ArrayList(); selectedOes.addAll(getFromClipboardByType(Oe.class)); if (selectedOes.size() > 0) { Long brand = brands.getSelectedItemId(); Assert.notNull(brand); if (getOperation() == OPERATION_COPY) { analogsService.doCopyOe(selectedOes, brand); } if (getOperation() == OPERATION_CUT) { analogsService.doCutOe(selectedOes, brand); } reReadOes(brand); } } } } }
From source file:swift.selenium.WebHelper.java
@SuppressWarnings("incomplete-switch") public static String doAction(String imageType, String controlType, String controlId, String controlName, String ctrlValue, String logicalName, String action, WebElement webElement, Boolean Results, HSSFSheet strucSheet, HSSFSheet valSheet, int rowIndex, int rowcount, String rowNo, String colNo) throws Exception { List<WebElement> WebElementList = null; String currentValue = null;/*from www .j a va 2 s . c om*/ //HSSFSheet uniqueNumberSheet =null; String uniqueNumber = ""; WebVerification.isFromVerification = false; //HashMap<String ,Object> uniqueValuesHashMap = null; //HSSFRow uniqueRow = null; ControlTypeEnum controlTypeEnum = ControlTypeEnum.valueOf(controlType); ControlTypeEnum actionName = ControlTypeEnum.valueOf(action.toString()); if (controlType.contains("Robot") && !isIntialized) { robot = new Robot(); isIntialized = true; } if (action.toString().equalsIgnoreCase("I") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("Read") || action.toString().equalsIgnoreCase("Write") || action.toString().equalsIgnoreCase("V") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("NC") || action.toString().equalsIgnoreCase("T") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("F") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("VA") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("O") || action.toString().equalsIgnoreCase("CP") || action.toString().equalsIgnoreCase("GV") || action.toString().equalsIgnoreCase("LV") || action.toString().equalsIgnoreCase("GB") || action.toString().equalsIgnoreCase("Get") || action.toString().equalsIgnoreCase("Post")) { try { switch (controlTypeEnum) { case WebEdit: switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); webElement.clear(); webElement.sendKeys(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: if (!ctrlValue.equalsIgnoreCase("null")) { webElement.clear(); webElement.sendKeys(ctrlValue); } else { webElement.clear(); } break; case T: if (!ctrlValue.equalsIgnoreCase("null")) { webElement.clear(); webElement.sendKeys(ctrlValue); ((DeviceActionShortcuts) Automation.driver).hideKeyboard(); } else { webElement.clear(); } break; case V: currentValue = webElement.getText(); break; } break; case WebButton: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement.click(); } break; case NC: webElement.click(); break; case V: if (webElement.isDisplayed()) { if (webElement.isEnabled() == true) currentValue = "True"; else currentValue = "False"; } } break; case WebElement: switch (actionName) { case I: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); break; case Read: uniqueNumber = ReadFromExcel(ctrlValue); webElement.clear(); webElement.sendKeys(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case V: if (WebVerification.isFromVerification == true) { currentValue = webElement.getText(); break; } boolean textPresent = false; String ObservedText = webElement.getText(); if (StringUtils.isBlank(ObservedText)) { ObservedText = webElement.getAttribute("value"); } textPresent = ObservedText.contains(ctrlValue); if (textPresent == false) currentValue = Boolean.toString(textPresent); else currentValue = ctrlValue; break; case T: Point p = ((Locatable) webElement).getCoordinates().onPage(); ((MobileDriver) Automation.driver).tap(1, p.getX(), p.getY(), 1); break; } break; case JSScript: ((JavascriptExecutor) Automation.driver).executeScript(controlName, ctrlValue); break; case Wait: Thread.sleep(Integer.parseInt(controlName) * 1000); break; case CheckBox: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement.click(); } break; case NC: webElement.click(); break; } break; case Radio: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { if (!webElement.isSelected()) { webElement.click(); } } break; case NC: if (!webElement.isSelected()) { webElement.click(); } break; case V: if (webElement.isSelected()) { currentValue = webElement.getAttribute(controlName.toString()); } break; case F: if (webElement != null) { currentValue = "Y"; } break; } break; case WebLink: //case CloseWindow://added this Case to bypass page loading after clicking the event switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); WebElementList = getElementsByType(controlId, controlName, controlType, imageType, uniqueNumber); webElement = GetControlByIndex("", WebElementList, controlId, controlName, controlType, uniqueNumber); webElement.click(); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: if (controlId.equalsIgnoreCase("LinkValue")) { webElement.click(); } else { if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement.click(); } } break; case NC: webElement.click(); break; } break; case CloseWindow: //TM-09/09/2015: This case is written to help in closing any specific windows switch (actionName) { case I: //This case helps in closing a specific window on the basis on the given title Set<String> handlers = null; handlers = Automation.driver.getWindowHandles(); for (String handler : handlers) { Automation.driver = Automation.driver.switchTo().window(handler); //TM-19/01/2015: Changed following comparison from equalsIgnoreCase to contains if (Automation.driver.getTitle().contains(ctrlValue)) { System.out.println("Closing required window :-" + Automation.driver.getTitle()); Automation.driver.close(); break; } } break; case NC://This case helps in closing the window with current focus Automation.driver.close(); break; } break; case WaitForJS: waitForCondition(); break; case ListBox: case WebList: switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); new Select(webElement).selectByVisibleText(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: ExpectedCondition<Boolean> isTextPresent = CommonExpectedConditions .textToBePresentInElement(webElement, ctrlValue); if (isTextPresent != null) { if (webElement != null) { new Select(webElement).selectByVisibleText(ctrlValue); } } break; case V: if (!ctrlValue.contains(",")) { currentValue = new Select(webElement).getFirstSelectedOption().getText(); if (currentValue.isEmpty()) { currentValue = new Select(webElement).getFirstSelectedOption() .getAttribute("value"); } break; } else { currentValue = new String(); List<WebElement> currentValues = new ArrayList<WebElement>(); currentValues = new Select(webElement).getOptions(); for (int j = 0; j < currentValues.size(); j++) { if (j + 1 == currentValues.size()) currentValue = currentValue.concat(currentValues.get(j).getText()); else { currentValue = currentValue.concat(currentValues.get(j).getText() + ","); } } break; } } break; //New code for AJAX Dropdown with dojo case AjaxWebList: switch (actionName) { case I: webElement.click(); break; case VA: Thread.sleep(20000); currentValue = new String(); List<WebElement> currentValues = new ArrayList<WebElement>(); currentValues = Automation.driver.findElements(By.xpath(controlName)); for (int j = 0; j < currentValues.size(); j++) { if (j + 1 == currentValues.size()) currentValue = currentValue.concat(currentValues.get(j).getText()); else { currentValue = currentValue.concat(currentValues.get(j).getText() + ","); } } break; } break; case IFrame: Automation.driver = Automation.driver.switchTo().frame(controlName); break; case Browser: Set<String> handlers = null; handlers = Automation.driver.getWindowHandles(); for (String handler : handlers) { Automation.driver = Automation.driver.switchTo().window(handler); if (Automation.driver.getTitle().contains(controlName)) { System.out.println("Focus on window with title: " + Automation.driver.getTitle()); break; } } break; case BrowserControl: Set<String> winHandles = Automation.driver.getWindowHandles(); boolean controlfound = false; winHandles = Automation.driver.getWindowHandles(); for (String handler : winHandles) { Automation.driver = Automation.driver.switchTo().window(handler); try { Automation.driver.findElement(By.xpath(controlName)); System.out.println("Focus on window with Control: " + controlName); controlfound = true; break; } catch (Exception e) { // TODO: handle exception } } if (!controlfound) System.out.println("Unable to find control with : " + controlName); break; case BrowserType: switch (actionName) { case I: if (StringUtils.isNotBlank(ctrlValue)) { Automation.browser = Automation.configHashMap.get("BROWSERTYPE").toString(); if (StringUtils.equalsIgnoreCase("none", Automation.browser)) { Automation.browser = ctrlValue.toString(); Automation.browserType = Automation.browserTypeEnum.valueOf(Automation.browser); Automation.setUp(); wait = new WebDriverWait(Automation.driver, Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString())); //Thread.sleep(5000); } } break; case NC: if (StringUtils.isNotBlank(controlName)) { Automation.browser = Automation.configHashMap.get("BROWSERTYPE").toString(); if (StringUtils.equalsIgnoreCase("none", Automation.browser)) { Automation.browser = controlName.toString(); Automation.browserType = Automation.browserTypeEnum.valueOf(Automation.browser); Automation.setUp(); wait = new WebDriverWait(Automation.driver, Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString())); //Thread.sleep(5000); } } break; } break; case BrowserAuth: final String details[] = ctrlValue.split(","); Runnable thread2 = new Runnable() { public void run() { try { smartRobot = new SmartRobot(); Thread.sleep(5000); smartRobot.type(details[0].toString());// Enter username Thread.sleep(2000); smartRobot.pressTab();// Click Keyboard Tab smartRobot.type(details[1].toString());// Enter password Thread.sleep(2000); smartRobot.pressEnter();// Click Enter button Thread.sleep(5000); } catch (Exception e) { e.printStackTrace(); } } }; Thread thr2 = new Thread(thread2); thr2.start(); break; case URL: final String url = ctrlValue; if (!StringUtils.isBlank(ctrlValue)) { if (Automation.browser.equals("InternetExplorer")) { Automation.driver.navigate().to(url); Thread.sleep(5000); } else { Runnable thread1 = new Runnable() { public void run() { try { Automation.driver.navigate().to(url); Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } }; Thread thr1 = new Thread(thread1); thr1.start(); } } break; case Menu: webElement.click(); break; case Alert: switch (actionName) { case V: Alert alert = wait.until(ExpectedConditions.alertIsPresent()); if (alert != null) { Automation.driver.switchTo().alert(); currentValue = alert.getText(); System.out.println(currentValue); alert.accept(); } break; } break; case WebImage: webElement.sendKeys(Keys.TAB); webElement.click(); Thread.sleep(5000); for (int Seconds = 0; Seconds <= Integer .parseInt(Automation.configHashMap.get("TIMEOUT").toString()); Seconds++) { if (!((Automation.driver.getWindowHandles().size()) > 1)) { webElement.click(); Thread.sleep(5000); } else { break; } } break; case ActionClick: Actions builderClick = new Actions(Automation.driver); Action clickAction = builderClick.moveToElement(webElement).clickAndHold().release().build(); clickAction.perform(); break; case ActionDoubleClick: Actions builderdoubleClick = new Actions(Automation.driver); builderdoubleClick.doubleClick(webElement).perform();//TM-27/01/2015 :- commented following code and used this code for simultaneous clicks //Action doubleClickAction = builderdoubleClick.moveToElement(webElement).click().build(); //doubleClickAction.perform(); //doubleClickAction.perform(); break; case ActionClickandEsc: Actions clickandEsc = new Actions(Automation.driver); Action clickEscAction = clickandEsc.moveToElement(webElement).click() .sendKeys(Keys.ENTER, Keys.ESCAPE).build(); clickEscAction.perform(); break; case ActionMouseOver: Actions builderMouserOver = new Actions(Automation.driver); Action mouseOverAction = builderMouserOver.moveToElement(webElement).build(); mouseOverAction.perform(); break; case Calendar: // Thread.sleep(5000); Boolean isCalendarDisplayed = Automation.driver.switchTo().activeElement().isDisplayed(); System.out.println(isCalendarDisplayed); if (isCalendarDisplayed == true) { String[] dtMthYr = ctrlValue.split("/"); WebElement Year = WaitTool.waitForElement(Automation.driver, By.name("year"), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));//Automation.driver.findElement(By.name("year")); while (!Year.getAttribute("value").equalsIgnoreCase(dtMthYr[2])) { if (Integer.parseInt(Year.getAttribute("value")) > Integer.parseInt(dtMthYr[2])) { WebElement yearButton = WaitTool.waitForElement(Automation.driver, By.id("button1"), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));//Automation.driver.findElement(By.id("button1")); yearButton.click(); } else if (Integer.parseInt(Year.getAttribute("value")) < Integer .parseInt(dtMthYr[2])) { WebElement yearButton = WaitTool.waitForElement(Automation.driver, By.id("Button5"), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));//Automation.driver.findElement(By.id("Button5")); yearButton.click(); } } Select date = new Select(WaitTool.waitForElement(Automation.driver, By.name("month"), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()))); month = CalendarSnippet.getMonthForInt(Integer.parseInt(dtMthYr[1])); date.selectByVisibleText(month); WebElement Day = WaitTool.waitForElement(Automation.driver, By.id("Button6"), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));//Automation.driver.findElement(By.id("Button6")); int day = 6; while (Day.getAttribute("value") != null) { Day = WaitTool.waitForElement(Automation.driver, By.id("Button" + day), Integer.parseInt(Automation.configHashMap.get("TIMEOUT").toString()));//Automation.driver.findElement(By.id("Button"+day)); if (Day.getAttribute("value").toString().equalsIgnoreCase(dtMthYr[0])) { Day.click(); break; } day++; } } else { System.out.println("Calendar not Diplayed"); } //Automation.selenium.click(controlName); break; case CalendarNew: isCalendarDisplayed = Automation.driver.switchTo().activeElement().isDisplayed(); System.out.println(isCalendarDisplayed); if (isCalendarDisplayed == true) { String[] dtMthYr = ctrlValue.split("/"); Thread.sleep(2000); //String[] CurrentDate = dtFormat.format(frmDate).split("/"); WebElement Monthyear = Automation.driver.findElement(By.xpath("//table/thead/tr/td[2]")); String Monthyear1 = Monthyear.getText(); String[] Monthyear2 = Monthyear1.split(","); Monthyear2[1] = Monthyear2[1].trim(); month = CalendarSnippet.getMonthForString(Monthyear2[0]); while (!Monthyear2[1].equalsIgnoreCase(dtMthYr[2])) { if (Integer.parseInt(Monthyear2[1]) > Integer.parseInt(dtMthYr[2])) { WebElement yearButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); yearButton.click(); Monthyear2[1] = Integer.toString(Integer.parseInt(Monthyear2[1]) - 1); } else if (Integer.parseInt(Monthyear2[1]) < Integer.parseInt(dtMthYr[2])) { WebElement yearButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); yearButton.click(); Monthyear2[1] = Integer.toString(Integer.parseInt(Monthyear2[1]) + 1); } } while (!month.equalsIgnoreCase(dtMthYr[1])) { if (Integer.parseInt(month) > Integer.parseInt(dtMthYr[1])) { WebElement monthButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); monthButton.click(); if (Integer.parseInt(month) < 11) { month = "0" + Integer.toString(Integer.parseInt(month) - 1); } else { month = Integer.toString(Integer.parseInt(month) - 1); } } else if (Integer.parseInt(month) < Integer.parseInt(dtMthYr[1])) { WebElement monthButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); monthButton.click(); if (Integer.parseInt(month) < 9) { month = "0" + Integer.toString(Integer.parseInt(month) + 1); } else { month = Integer.toString(Integer.parseInt(month) + 1); } } } WebElement dateButton = Automation.driver .findElement(By.cssSelector("td.day:contains('" + dtMthYr[0] + "')")); System.out.println(dateButton); dateButton.click(); } else { System.out.println("Calendar not Diplayed"); } break; case CalendarIPF: String[] dtMthYr = ctrlValue.split("/"); Thread.sleep(2000); String year = dtMthYr[2]; String monthNum = dtMthYr[1]; String day = dtMthYr[0]; //Xpath for Year, mMnth & Days String xpathYear = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-years']"; String xpathMonth = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-months']"; String xpathDay = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-days']"; //Selecting year in 3 steps Automation.driver.findElement(By.xpath(xpathDay + "/table/thead/tr[1]/th[2]")).click(); Automation.driver.findElement(By.xpath(xpathMonth + "/table/thead/tr/th[2]")).click(); Automation.driver .findElement(By.xpath(xpathYear + "/table/tbody/tr/td/span[@class='year'][contains(text()," + year + ")]")) .click(); //Selecting month in 1 step Automation.driver .findElement(By.xpath(xpathMonth + "/table/tbody/tr/td/span[" + monthNum + "]")) .click(); //Selecting day in 1 step Automation.driver .findElement(By.xpath( xpathDay + "/table/tbody/tr/td[@class='day'][contains(text()," + day + ")]")) .click(); case CalendarEBP: String[] dtMthYrEBP = ctrlValue.split("/"); Thread.sleep(500); String yearEBP = dtMthYrEBP[2]; String monthNumEBP = CalendarSnippet.getMonthForInt(Integer.parseInt(dtMthYrEBP[1])) .substring(0, 3); String dayEBP = dtMthYrEBP[0]; //common path used for most of the elements String pathToVisibleCalendar = "//div[@class='ajax__calendar'][contains(@style, 'visibility: visible;')]/div"; //following is to click the title once to reach the year page wait.until(ExpectedConditions.elementToBeClickable( By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_header']/div[3]/div"))) .click(); //check if 'Dec' is visibly clickable after refreshing wait.until(ExpectedConditions.elementToBeClickable(By.xpath( pathToVisibleCalendar + "/div/div/table/tbody/tr/td/div[contains(text(), 'Dec')]"))); Thread.sleep(5000); //following is to click the title once again to reach the year page wait.until(ExpectedConditions.elementToBeClickable( (By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_header']/div[3]/div")))) .click(); //common path used for most of the elements while selection of year, month and date pathToVisibleCalendar = "//div[@class='ajax__calendar'][contains(@style, 'visibility: visible;')]/div/div/div/table/tbody/tr/td"; Thread.sleep(2000); //each of the following line selects the year, month and date wait.until(ExpectedConditions.elementToBeClickable( By.xpath(pathToVisibleCalendar + "/div[contains(text()," + yearEBP + ")]"))).click(); Thread.sleep(2000); wait.until(ExpectedConditions.elementToBeClickable(By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_month'][contains(text(),'" + monthNumEBP + "')]"))) .click(); Thread.sleep(2000); wait.until(ExpectedConditions.elementToBeClickable(By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_day'][contains(text()," + dayEBP + ")]"))).click(); break; /**Code for window popups**/ case Window: switch (actionName) { case O: String parentHandle = Automation.driver.getWindowHandle(); for (String winHandle : Automation.driver.getWindowHandles()) { Automation.driver.switchTo().window(winHandle); if (Automation.driver.getTitle().contains(controlName)) { ((JavascriptExecutor) Automation.driver) .executeScript("window.onbeforeunload = function(e){};");//By Tripti: 16/02/2015 Automation.driver.close(); } else { parentHandle = winHandle; } } Automation.driver.switchTo().window(parentHandle); break; } break; case WebTable: switch (actionName) { case Read: ReadFromExcel(ctrlValue); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case NC: WebElement table = webElement; List<WebElement> tableRows = table.findElements(By.tagName("tr")); int tableRowIndex = 0; //int tableColumnIndex = 0; boolean matchFound = false; for (WebElement tableRow : tableRows) { tableRowIndex += 1; List<WebElement> tableColumns = tableRow.findElements(By.tagName("td")); if (tableColumns.size() > 0) { for (WebElement tableColumn : tableColumns) if (tableColumn.getText().equals(ctrlValue)) { matchFound = true; System.out.println(tableRowIndex); List<Object> elementProperties = getPropertiesOfWebElement( tableColumns.get(Integer.parseInt(colNo)), imageType); controlName = elementProperties.get(0).toString(); if (controlName.equals("")) { controlName = elementProperties.get(1).toString(); } controlType = elementProperties.get(2).toString(); webElement = (WebElement) elementProperties.get(3); doAction(imageType, controlType, controlId, controlName, ctrlValue, logicalName, action, webElement, Results, strucSheet, valSheet, tableRowIndex, rowcount, rowNo, colNo); break; } if (matchFound) { break; } } } break; case V: WriteToDetailResults(ctrlValue, "", logicalName); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } break; case GB: WebVerification.GroupBy = ctrlValue; break; } break; case Robot: if (controlName.equalsIgnoreCase("SetFilePath")) { StringSelection stringSelection = new StringSelection(ctrlValue); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null); robot.delay(5000); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); } else if (controlName.equalsIgnoreCase("Type")) { robot.keyPress(KeyEvent.VK_M); robot.keyRelease(KeyEvent.VK_TAB); } else if (controlName.equalsIgnoreCase("TAB")) { robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_TAB); } else if (controlName.equalsIgnoreCase("SPACE")) { robot.keyPress(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_SPACE); } else if (controlName.equalsIgnoreCase("ENTER")) { robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); } break; case DB: switch (actionName) { case Write: ResultSet rs = JDBCConnection.establishDBConn("", ctrlValue); rs.next(); ctrlValue = String.valueOf(rs.getLong("COL_1")); rs.close(); writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; } break; //Kinjal 9/6/2015 Added for DB Approach case DBV: switch (actionName) { case CP: currentValue = webElement.getText(); if (StringUtils.isBlank(currentValue)) { currentValue = webElement.getAttribute("value"); } ctrlValue = JDBCConnection.getFirstColumnName(ctrlValue); System.out.println("Database value fetched from DB is " + ctrlValue); break; case V: List<WebElement> rowElements = WebHelper.getElementsByType(controlId, controlName, "", "", ""); if (rowElements != null) { currentValue = Integer.toString(rowElements.size()); } else { currentValue = "0"; } ctrlValue = JDBCConnection.getFirstColumnName(ctrlValue); break; } break; case WaitForEC: wait.until(CommonExpectedConditions.elementToBeClickable(webElement)); break; case SikuliType: sikuliScreen.type(controlName, ctrlValue); break; case SikuliButton: sikuliScreen.click(controlName); System.out.println("Done"); break; case Date: Calendar cal = new GregorianCalendar(); int i = cal.get(Calendar.DAY_OF_MONTH); if (i >= 31) { i = i - 10; } break; case FileUpload: webElement.sendKeys(ctrlValue); break; case ScrollTo: //Locatable element = (Locatable) webElement; //TM:04/03/2015-commented as incorrect //Point p= element.getCoordinates().onScreen();//TM:04/03/2015-commented as incorrect Point p = webElement.getLocation();//TM:04/03/2015-New correct code System.out.println("X,Y co-ordinates of textbox is:- " + p);//TM:04/03/2015-New correct code JavascriptExecutor js = (JavascriptExecutor) Automation.driver; //TM:04/03/2015-New correct code js.executeScript("window.scrollTo(" + p.getX() + "," + (p.getY() + 150) + ");"); break; case SwitchContext: Thread.sleep(3000); Set<String> contexts = ((AppiumDriver) Automation.driver).getContextHandles(); for (String s : contexts) { System.out.println("Count of contexts : " + contexts.size()); System.out.println("Context Name : " + s); if (s.contains(ctrlValue)) { System.out.println("Mobile Web View found"); ((AppiumDriver) Automation.driver).context(s); break; } } Thread.sleep(2000); break; case SwipeDown: //((AppiumDriver)(Automation.driver)).swipe(0, 0, 0, 1500, 2000); ((AppiumDriver) (Automation.driver)).scrollTo(ctrlValue); break; case CaptureScreen: Date toDate = new Date(); TransactionMapping.report.setFromDate(Automation.dtFormat.format(frmDate)); TransactionMapping.report .setStrIteration(Automation.configHashMap.get("CYCLENUMBER").toString()); TransactionMapping.report.setStrTestcaseId(MainController.controllerTestCaseID.toString()); TransactionMapping.report.setStrGroupName(MainController.controllerGroupName.toString()); TransactionMapping.report .setStrTrasactionType(MainController.controllerTransactionType.toString()); TransactionMapping.report.setStrTestDescription(MainController.testDesciption); TransactionMapping.report.setStrMessage( "Screenshot of Test Case Id:" + MainController.controllerTestCaseID.toString() + " & Transaction Type:" + MainController.controllerTransactionType.toString()); TransactionMapping.report.setToDate(Automation.dtFormat.format(toDate)); saveScreenShot(TransactionMapping.report, logicalName); break; case WebService: switch (actionName) { case I: if (logicalName.equalsIgnoreCase("WSDL_URL")) wsdl_url = ctrlValue; else if (logicalName.equalsIgnoreCase("REQUEST_URL")) request_url = ctrlValue; else if (logicalName.equalsIgnoreCase("REQUEST_XML")) request_xml = ctrlValue; break; case T: WebService.callWebService(); break; case V: currentValue = WebService.getXMLTagValue(controlName); break; } break; case WebService_REST: switch (actionName) { case I: if (logicalName.equalsIgnoreCase("REQUEST_URL")) request_url = ctrlValue; else if (logicalName.equalsIgnoreCase("REQUEST_XML")) { request_xml = ctrlValue; } break; case Get: WebService.callRESTWebService("Get", controlId); break; case Post: WebService.callRESTWebService("Post", controlId); break; case V: if (controlId.equalsIgnoreCase("JSON")) { currentValue = WebService.getJSONTagValue(controlName); } else { currentValue = WebService.getXMLTagValue(controlName); } break; } break; case JSONResp: switch (actionName) { case I: if (logicalName.equalsIgnoreCase("JSON_URL")) { response_url = controlName; response_fileName = ctrlValue; WebService.downloadAndStoreJson(response_url, response_fileName); } break; } break; case DonutChart: switch (actionName) { case GV: DonutChart donut = new DonutChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), donut.getDonutColumnNames(), donut.getDonutChartData()); break; case LV: DonutChart donutLegend = new DonutChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), donutLegend.getDonutLegendColumnNames(), donutLegend.getDonutLegendData()); break; } break; case BarChart: switch (actionName) { case GV: String[] series = ctrlValue.split("!"); List<String> seriesList = Arrays.asList(series); BarChart barChart = new BarChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), barChart.getColumnNames(), barChart.getChartData(seriesList)); break; case LV: BarChart barchartLegend = new BarChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), barchartLegend.getLegendColumnNames(), barchartLegend.getLegendData()); break; } break; case BasicLineChart: switch (actionName) { case GV: BasicLineChart lineChart = new BasicLineChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), lineChart.getColumnNames(), lineChart.getChartData()); break; case LV: BasicLineChart linechartLegend = new BasicLineChart(Automation.driver, webElement); WebVerification.verifyTabularData(testcaseID.toString(), MainController.controllerTransactionType.toString(), linechartLegend.getLegendColumnNames(), linechartLegend.getLegendData()); break; } break; default: System.out.println("U r in Default"); break; } } catch (WebDriverException we) { throw new Exception("Error Occurred from Do Action " + controlName + we.getMessage()); } catch (Exception e) { throw new Exception(e.getMessage()); } } //TM-02/02/2015: Radio button found ("F") & AJAX control ("VA") if ((action.toString().equalsIgnoreCase("V") || action.toString().equalsIgnoreCase("CP") || action.toString().equalsIgnoreCase("F") || action.toString().equalsIgnoreCase("VA")) && !ctrlValue.equalsIgnoreCase("")) { if (Results == true) { TransactionMapping.report = WriteToDetailResults(ctrlValue, currentValue, logicalName); } } return currentValue; }
From source file:SwiftSeleniumWeb.WebHelper.java
/** * This class performs the reuired action on an element * /* w w w. j a v a2 s . c o m*/ * @param imageType * @param controlType * @param controlId * @param controlName * @param ctrlValue * @param logicalName * @param action * @param webElement * @param Results * @param strucSheet * @param valSheet * @param rowIndex * @param rowcount * @param rowNo * @param colNo * @return * @throws Exception */ @SuppressWarnings("incomplete-switch") public static String doAction(String imageType, String controlType, String controlId, String controlName, String ctrlValue, String logicalName, String action, WebElement webElement, Boolean Results, HSSFSheet strucSheet, HSSFSheet valSheet, int rowIndex, int rowcount, String rowNo, String colNo) throws Exception { List<WebElement> WebElementList = null; String currentValue = null; String uniqueNumber = ""; ControlTypeEnum controlTypeEnum = ControlTypeEnum.valueOf(controlType); ControlTypeEnum actionName = ControlTypeEnum.valueOf(action.toString()); if (controlType.contains("Robot") && !isIntialized) { robot = new Robot(); isIntialized = true; } if (action.toString().equalsIgnoreCase("I") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("Read") || action.toString().equalsIgnoreCase("Write") || action.toString().equalsIgnoreCase("V") && !ctrlValue.equalsIgnoreCase("") || action.toString().equalsIgnoreCase("NC") || action.toString().equalsIgnoreCase("T") && !ctrlValue.equalsIgnoreCase("")) { try { switch (controlTypeEnum) { case WebEdit: switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); webElement.clear(); webElement.sendKeys(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: if (!ctrlValue.equalsIgnoreCase("null")) { webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.clear(); webElement.sendKeys(ctrlValue); } else { webElement.clear(); } break; case V: currentValue = webElement.getText(); break; } break; case WebButton: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); } break; case NC: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); break; case V: if (webElement.isDisplayed()) { if (webElement.isEnabled() == true) currentValue = "True"; else currentValue = "False"; } } break; case WebElement: switch (actionName) { case I: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); break; case Read: uniqueNumber = ReadFromExcel(ctrlValue); webElement.clear(); webElement.sendKeys(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case V: boolean textPresent = false; textPresent = webElement.getText().contains(ctrlValue); if (textPresent == false) currentValue = webElement.getText(); else currentValue = ctrlValue; break; } break; case JSScript: ((JavascriptExecutor) Automation.driver).executeScript(controlName, ctrlValue); break; case Wait: Thread.sleep(Integer.parseInt(controlName) * 1000); break; case CheckBox: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); } break; case NC: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); break; } break; case Radio: switch (actionName) { case I: if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); if (!webElement.isSelected()) { webElement.click(); } } break; case NC: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); if (!webElement.isSelected()) { webElement.click(); } break; case V: if (webElement.isSelected()) { currentValue = webElement.getAttribute(controlName.toString()); } break; } break; case WebLink: case CloseWindow://added this Case to bypass page loading after clicking the event switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); WebElementList = getElementsByType(controlId, controlName, controlType, imageType, uniqueNumber); webElement = GetControlByIndex("", WebElementList, controlId, controlName, controlType, uniqueNumber); webElement.click(); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: if (controlId.equalsIgnoreCase("LinkValue")) { webElement.click(); } else { if (ctrlValue.equalsIgnoreCase("Y") || ctrlValue.equalsIgnoreCase("Yes")) { webElement.click(); } } break; case NC: webElement.click(); break; } break; case WaitForJS: waitForCondition(); break; case ListBox: case WebList: switch (actionName) { case Read: uniqueNumber = ReadFromExcel(ctrlValue); new Select(webElement).selectByVisibleText(uniqueNumber); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case I: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); ExpectedCondition<Boolean> isTextPresent = CommonExpectedConditions .textToBePresentInElement(webElement, ctrlValue); if (isTextPresent != null) { if (webElement != null) { new Select(webElement).selectByVisibleText(ctrlValue); } } break; case V: currentValue = new Select(webElement).getFirstSelectedOption().getText(); if (currentValue.isEmpty()) { currentValue = new Select(webElement).getFirstSelectedOption().getAttribute("value"); } break; } break; case IFrame: Automation.driver = Automation.driver.switchTo().frame(controlName); break; case Browser: //Thread.sleep(3000); //DS:Check if required Set<String> handlers = Automation.driver.getWindowHandles(); handlers = Automation.driver.getWindowHandles(); for (String handler : handlers) { Automation.driver = Automation.driver.switchTo().window(handler); if (Automation.driver.getTitle().equalsIgnoreCase(controlName)) { System.out.println("Focus on window with title: " + Automation.driver.getTitle()); break; } } break; case URL: switch (actionName) { case I: Automation.driver.navigate().to(ctrlValue); break; case NC: break; } break; case Menu: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); break; case Alert: switch (actionName) { case V: Alert alert = Automation.driver.switchTo().alert(); if (alert != null) { currentValue = alert.getText(); System.out.println(currentValue); alert.accept(); } break; } break; case WebImage: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); webElement.click(); Thread.sleep(5000); for (int Seconds = 0; Seconds <= Integer .parseInt(Automation.configHashMap.get("TIMEOUT").toString()); Seconds++) { if (!((Automation.driver.getWindowHandles().size()) > 1)) { webElement.click(); Thread.sleep(5000); } else { break; } } break; case ActionClick: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); Actions builderClick = new Actions(Automation.driver); Action clickAction = builderClick.moveToElement(webElement).clickAndHold().release().build(); clickAction.perform(); break; case ActionDoubleClick: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); Actions builderdoubleClick = new Actions(Automation.driver); Action doubleClickAction = builderdoubleClick.moveToElement(webElement).click().build(); doubleClickAction.perform(); doubleClickAction.perform(); break; case ActionClickandEsc: webElement = wait.until(ExpectedConditions.elementToBeClickable(webElement)); Actions clickandEsc = new Actions(Automation.driver); Action clickEscAction = clickandEsc.moveToElement(webElement).click() .sendKeys(Keys.ENTER, Keys.ESCAPE).build(); clickEscAction.perform(); break; case ActionMouseOver: Actions builderMouserOver = new Actions(Automation.driver); Action mouseOverAction = builderMouserOver.moveToElement(webElement).build(); mouseOverAction.perform(); break; case CalendarNew: Boolean isCalendarDisplayed = Automation.driver.switchTo().activeElement().isDisplayed(); System.out.println(isCalendarDisplayed); if (isCalendarDisplayed == true) { String[] dtMthYr = ctrlValue.split("/"); Thread.sleep(2000); //String[] CurrentDate = dtFormat.format(frmDate).split("/"); WebElement Monthyear = Automation.driver.findElement(By.xpath("//table/thead/tr/td[2]")); String Monthyear1 = Monthyear.getText(); String[] Monthyear2 = Monthyear1.split(","); Monthyear2[1] = Monthyear2[1].trim(); month = CalendarSnippet.getMonthForString(Monthyear2[0]); while (!Monthyear2[1].equalsIgnoreCase(dtMthYr[2])) { if (Integer.parseInt(Monthyear2[1]) > Integer.parseInt(dtMthYr[2])) { WebElement yearButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); yearButton.click(); Monthyear2[1] = Integer.toString(Integer.parseInt(Monthyear2[1]) - 1); } else if (Integer.parseInt(Monthyear2[1]) < Integer.parseInt(dtMthYr[2])) { WebElement yearButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); yearButton.click(); Monthyear2[1] = Integer.toString(Integer.parseInt(Monthyear2[1]) + 1); } } while (!month.equalsIgnoreCase(dtMthYr[1])) { if (Integer.parseInt(month) > Integer.parseInt(dtMthYr[1])) { WebElement monthButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); monthButton.click(); if (Integer.parseInt(month) < 11) { month = "0" + Integer.toString(Integer.parseInt(month) - 1); } else { month = Integer.toString(Integer.parseInt(month) - 1); } } else if (Integer.parseInt(month) < Integer.parseInt(dtMthYr[1])) { WebElement monthButton = Automation.driver .findElement(By.cssSelector("td:contains('')")); monthButton.click(); if (Integer.parseInt(month) < 9) { month = "0" + Integer.toString(Integer.parseInt(month) + 1); } else { month = Integer.toString(Integer.parseInt(month) + 1); } } } WebElement dateButton = Automation.driver .findElement(By.cssSelector("td.day:contains('" + dtMthYr[0] + "')")); System.out.println(dateButton); dateButton.click(); } else { System.out.println("Calendar not Diplayed"); } break; case CalendarIPF: String[] dtMthYr = ctrlValue.split("/"); Thread.sleep(2000); String year = dtMthYr[2]; String monthNum = dtMthYr[1]; String day = dtMthYr[0]; //Xpath for Year, mMnth & Days String xpathYear = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-years']"; String xpathMonth = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-months']"; String xpathDay = "//div[@class='datepicker datepicker-dropdown dropdown-menu datepicker-orient-left datepicker-orient-bottom']/div[@class='datepicker-days']"; //Selecting year in 3 steps Automation.driver.findElement(By.xpath(xpathDay + "/table/thead/tr[1]/th[2]")).click(); Automation.driver.findElement(By.xpath(xpathMonth + "/table/thead/tr/th[2]")).click(); Automation.driver .findElement(By.xpath(xpathYear + "/table/tbody/tr/td/span[@class='year'][contains(text()," + year + ")]")) .click(); //Selecting month in 1 step Automation.driver .findElement(By.xpath(xpathMonth + "/table/tbody/tr/td/span[" + monthNum + "]")) .click(); //Selecting day in 1 step Automation.driver .findElement(By.xpath( xpathDay + "/table/tbody/tr/td[@class='day'][contains(text()," + day + ")]")) .click(); case CalendarEBP: String[] dtMthYrEBP = ctrlValue.split("/"); Thread.sleep(2000); String yearEBP = dtMthYrEBP[2]; String monthNumEBP = CalendarSnippet.getMonthForInt(Integer.parseInt(dtMthYrEBP[1])) .substring(0, 3); String dayEBP = dtMthYrEBP[0]; //common path used for most of the elements String pathToVisibleCalendar = "//div[@class='ajax__calendar'][contains(@style, 'visibility: visible;')]/div"; //following is to click the title once to reach the year page wait.until(ExpectedConditions.elementToBeClickable( By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_header']/div[3]/div"))) .click(); //check if 'Dec' is visibly clickable after refreshing wait.until(ExpectedConditions.elementToBeClickable(By.xpath( pathToVisibleCalendar + "/div/div/table/tbody/tr/td/div[contains(text(), 'Dec')]"))); //following is to click the title once again to reach the year page Automation.driver .findElement(By.xpath( pathToVisibleCalendar + "/div[@class='ajax__calendar_header']/div[3]/div")) .click(); //common path used for most of the elements while selection of year, month and date pathToVisibleCalendar = "//div[@class='ajax__calendar'][contains(@style, 'visibility: visible;')]/div/div/div/table/tbody/tr/td"; //each of the following line selects the year, month and date wait.until(ExpectedConditions.elementToBeClickable( By.xpath(pathToVisibleCalendar + "/div[contains(text()," + yearEBP + ")]"))).click(); wait.until(ExpectedConditions.elementToBeClickable(By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_month'][contains(text(),'" + monthNumEBP + "')]"))) .click(); wait.until(ExpectedConditions.elementToBeClickable(By.xpath(pathToVisibleCalendar + "/div[@class='ajax__calendar_day'][contains(text()," + dayEBP + ")]"))).click(); break; /**Code for window popups**/ case Window: switch (actionName) { case O: String parentHandle = Automation.driver.getWindowHandle(); for (String winHandle : Automation.driver.getWindowHandles()) { Automation.driver.switchTo().window(winHandle); if (Automation.driver.getTitle().equalsIgnoreCase(controlName)) { Automation.driver.close(); } } Automation.driver.switchTo().window(parentHandle); break; } break; case WebTable: switch (actionName) { case Read: ReadFromExcel(ctrlValue); break; case Write: writeToExcel(ctrlValue, webElement, controlId, controlType, controlName, rowNo, colNo); break; case NC: WebElement table = webElement; List<WebElement> tableRows = table.findElements(By.tagName("tr")); int tableRowIndex = 0; //int tableColumnIndex = 0; boolean matchFound = false; for (WebElement tableRow : tableRows) { tableRowIndex += 1; List<WebElement> tableColumns = tableRow.findElements(By.tagName("td")); if (tableColumns.size() > 0) { for (WebElement tableColumn : tableColumns) if (tableColumn.getText().equals(ctrlValue)) { matchFound = true; System.out.println(tableRowIndex); List<Object> elementProperties = getPropertiesOfWebElement( tableColumns.get(Integer.parseInt(colNo)), imageType); controlName = elementProperties.get(0).toString(); if (controlName.equals("")) { controlName = elementProperties.get(1).toString(); } controlType = elementProperties.get(2).toString(); webElement = (WebElement) elementProperties.get(3); doAction(imageType, controlType, controlId, controlName, ctrlValue, logicalName, action, webElement, Results, strucSheet, valSheet, tableRowIndex, rowcount, rowNo, colNo); break; } if (matchFound) { break; } } } break; case V: WriteToDetailResults(ctrlValue, "", logicalName); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } break; } break; case Robot: if (controlName.equalsIgnoreCase("SetFilePath")) { StringSelection stringSelection = new StringSelection(ctrlValue); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null); robot.delay(1000); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_V); robot.keyRelease(KeyEvent.VK_CONTROL); } else if (controlName.equalsIgnoreCase("TAB")) { robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_TAB); } else if (controlName.equalsIgnoreCase("SPACE")) { robot.keyPress(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_SPACE); } else if (controlName.equalsIgnoreCase("ENTER")) { robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); } break; case WaitForEC: wait.until(CommonExpectedConditions.elementToBeClickable(webElement)); break; case SikuliType: sikuliScreen.type(controlName, ctrlValue); break; case SikuliButton: sikuliScreen.click(controlName); System.out.println("Done"); break; case Date: Calendar cal = new GregorianCalendar(); int i = cal.get(Calendar.DAY_OF_MONTH); if (i >= 31) { i = i - 10; } break; case FileUpload: webElement.sendKeys(ctrlValue); break; case ScrollTo: Locatable element = (Locatable) webElement; Point p = element.getCoordinates().onScreen(); JavascriptExecutor js = (JavascriptExecutor) Automation.driver; js.executeScript("window.scrollTo(" + p.getX() + "," + (p.getY() + 150) + ");"); break; default: System.out.println("U r in Default"); break; } } catch (WebDriverException we) { throw new Exception("Error Occurred from Do Action " + controlName + we.getMessage()); } catch (Exception e) { throw new Exception(e.getMessage()); } } if (action.toString().equalsIgnoreCase("V") && !ctrlValue.equalsIgnoreCase("")) { if (Results == true) { SwiftSeleniumWeb.WebDriver.report = WriteToDetailResults(ctrlValue, currentValue, logicalName); } } return currentValue; }
From source file:uk.ac.abdn.csd.p2p.server.ServerGUI.java
/** * This method prepares all the graphical components that are contained with P2P Visualisation Server. *///from w w w. j ava 2 s. c om // <editor-fold defaultstate="collapsed" desc="...GUI"> private void initializeComponent() { listeningPort = 0; JFrame frame = new JFrame(); BorderLayout layout = new BorderLayout(); //create a graph overlay = new UndirectedSparseGraph<Vertex, Edge>(); ObservableGraph<Vertex, Edge> og = new ObservableGraph<Vertex, Edge>(overlay); /* og.addGraphEventListener(new GraphEventListener<Vertex, Edge>() { @Override public void handleGraphEvent( GraphEvent<Vertex, Edge> evt) { System.err.println("got " + evt); } });*/ this.overlay = og; layout1 = new FRLayout2<Vertex, Edge>(overlay); vv = new VisualizationViewer<Vertex, Edge>(layout1, new Dimension(700, 200)); vv.setGraphMouse(new DefaultModalGraphMouse<Vertex, Edge>()); vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<Vertex>()); vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<Edge>()); vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR); vv.getRenderContext().setVertexFillPaintTransformer(new VertexPainter()); DefaultModalGraphMouse gm1 = new DefaultModalGraphMouse(); gm1.setMode(ModalGraphMouse.Mode.TRANSFORMING); gm1.setMode(ModalGraphMouse.Mode.PICKING); gm1.add(new MyPopupGraphMousePlugin()); vv.setGraphMouse(gm1); vv.addKeyListener(gm1.getModeKeyListener()); contentPane = new JPanel(layout); displayPanel = new javax.swing.JPanel(); consoleTextArea = new JTextArea(); jScrollPane2 = new JScrollPane(); clearButton = new JButton(); consolePanel = new JPanel(); clearButton = new javax.swing.JButton(); nodeTextArea = new JTextArea(); jScrollPane1 = new JScrollPane(); nodePanel = new JPanel(); linkTextArea = new JTextArea(); jScrollPane3 = new JScrollPane(); linkPanel = new JPanel(); menuBar = new javax.swing.JMenuBar(); serverMenu = new javax.swing.JMenu(); startServerMenuItem = new javax.swing.JMenuItem(); jSeparator1 = new javax.swing.JPopupMenu.Separator(); exitMenuItem = new javax.swing.JMenuItem(); editMenu = new javax.swing.JMenu(); settingMenuItem = new javax.swing.JMenuItem(); colorSettingMenuItem = new javax.swing.JMenuItem(); toolMenuItem = new javax.swing.JMenu(); clearMenuItem = new javax.swing.JMenuItem(); helpMenu = new javax.swing.JMenu(); aboutMenuItem = new javax.swing.JMenuItem(); zoominMenuItem = new javax.swing.JMenuItem(); zoomoutMenuItem = new javax.swing.JMenuItem(); layoutSettingMenuItem = new javax.swing.JMenuItem(); labelPositionMenuItem = new javax.swing.JMenuItem(); speedSettingMenuItem = new javax.swing.JMenuItem(); topologySettingMenuItem = new javax.swing.JMenuItem(); findNodeMenuItem = new javax.swing.JMenuItem(); serverMenu.setText("Server"); serverMenu.setToolTipText("Server"); startServerMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK)); startServerMenuItem.setText("Start Server"); startServerMenuItem.setToolTipText("Start Server"); startServerMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { startServerMenuItemActionPerformed(evt); } }); serverMenu.add(startServerMenuItem); serverMenu.add(jSeparator1); exitMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.ALT_MASK)); exitMenuItem.setText("Exit"); exitMenuItem.setToolTipText("Exit"); exitMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { exitMenuItemActionPerformed(evt); } }); serverMenu.add(exitMenuItem); menuBar.add(serverMenu); editMenu.setText("Edit"); editMenu.setToolTipText("Edit"); settingMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK)); settingMenuItem.setText("Server Settings"); settingMenuItem.setToolTipText("Server Settings"); settingMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { settingMenuItemActionPerformed(evt); } }); editMenu.add(settingMenuItem); colorSettingMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.ALT_MASK)); colorSettingMenuItem.setText("Colour Settings"); colorSettingMenuItem.setToolTipText("Colour Settings"); colorSettingMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { colorSettingMenuItemActionPerformed(evt); } }); editMenu.add(colorSettingMenuItem); layoutSettingMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK)); layoutSettingMenuItem.setText("Layout Settings"); layoutSettingMenuItem.setToolTipText("Layout Settings"); layoutSettingMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { layoutSettingMenuItemActionPerformed(evt); } }); editMenu.add(layoutSettingMenuItem); speedSettingMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.ALT_MASK)); speedSettingMenuItem.setText("Speed Settings"); speedSettingMenuItem.setToolTipText("Speed Settings"); speedSettingMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { speedSettingMenuItemActionPerformed(evt); } }); editMenu.add(speedSettingMenuItem); topologySettingMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.ALT_MASK)); topologySettingMenuItem.setText("Topology Settings"); topologySettingMenuItem.setToolTipText("Topology Settings"); topologySettingMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { topologySettingMenuItemActionPerformed(evt); } }); editMenu.add(topologySettingMenuItem); menuBar.add(editMenu); toolMenuItem.setText("Tools"); toolMenuItem.setToolTipText("Tools"); labelPositionMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.ALT_MASK)); labelPositionMenuItem.setText("Vertex Label Position"); labelPositionMenuItem.setToolTipText("Vertex Label Position"); toolMenuItem.add(labelPositionMenuItem); labelPositionMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { labelPositionMenuItemActionPerformed(evt); } }); final ScalingControl scaler = new CrossoverScalingControl(); zoominMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.ALT_MASK)); zoominMenuItem.setText("Zoom-In"); zoominMenuItem.setToolTipText("Zoom-In"); toolMenuItem.add(zoominMenuItem); zoominMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { scaler.scale(vv, 1.1f, vv.getCenter()); } }); zoomoutMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.ALT_MASK)); zoomoutMenuItem.setText("Zoom-Out"); zoomoutMenuItem.setToolTipText("Zoom-Out"); toolMenuItem.add(zoomoutMenuItem); zoomoutMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { scaler.scale(vv, 0.9f, vv.getCenter()); } }); findNodeMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.ALT_MASK)); findNodeMenuItem.setText("Find Node on Overlay"); findNodeMenuItem.setToolTipText("Find Node"); toolMenuItem.add(findNodeMenuItem); findNodeMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { findNodeMenuItemMenuItemActionPerformed(evt); } }); menuBar.add(toolMenuItem); helpMenu.setText("Help"); helpMenu.setToolTipText("Help"); aboutMenuItem.setText("About"); aboutMenuItem.setToolTipText("About"); aboutMenuItem.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent evt) { aboutMenuItemActionPerformed(evt); } }); helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); displayPanel.setLayout(new BorderLayout()); displayPanel.setBorder(new TitledBorder("P2P Overlay")); displayPanel.add(vv); validate(); // // nodeTextArea // nodeTextArea.setEditable(false); nodeTextArea.setLineWrap(true); // // jScrollPane1 // jScrollPane1.setViewportView(nodeTextArea); //jScrollPane1.setsi // // nodePanel // nodePanel.setLayout(new BoxLayout(nodePanel, BoxLayout.X_AXIS)); nodePanel.add(jScrollPane1, 0); nodePanel.setBorder(new TitledBorder("Nodes Active")); // // linkTextArea // linkTextArea.setEditable(false); linkTextArea.setLineWrap(true); // // jScrollPane3 // jScrollPane3.setViewportView(linkTextArea); // // linkPanel // linkPanel.setLayout(new BoxLayout(linkPanel, BoxLayout.X_AXIS)); linkPanel.add(jScrollPane3, 0); linkPanel.setBorder(new TitledBorder("Node Links")); // // consoleTextArea // consoleTextArea.setEditable(false); consoleTextArea.setLineWrap(true); // // jScrollPane2 // jScrollPane2.setViewportView(consoleTextArea); // // clearButton // clearButton.setText("Clear"); clearButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { clearButton_actionPerformed(e); } }); // // consolePanel // consolePanel.setLayout(new BoxLayout(consolePanel, BoxLayout.X_AXIS)); consolePanel.add(jScrollPane2, 0); consolePanel.add(clearButton, 1); consolePanel.setBorder(new TitledBorder("Console")); // // ServerGUI // Dimension panelD = new Dimension(700, 330); // display Panel Dimension panelD1 = new Dimension(700, 134); // control Panel Dimension panelD2 = new Dimension(350, 140); // nodepanel and linkpanel Dimension panelD3 = new Dimension(700, 140); // nodepanel and linkpanel togther consolePanel.setPreferredSize(panelD1); displayPanel.setPreferredSize(panelD); nodePanel.setPreferredSize(panelD2); linkPanel.setPreferredSize(panelD2); Box box = new Box(BoxLayout.X_AXIS); // put nodepanel and linkpanel in one box box.add(nodePanel); box.add(linkPanel); box.setSize(panelD3); //contentPane.add(BorderLayout.NORTH,displayPanel); //contentPane.add(BorderLayout.CENTER,box); contentPane.add(BorderLayout.NORTH, box); contentPane.add(BorderLayout.CENTER, displayPanel); contentPane.add(BorderLayout.SOUTH, consolePanel); frame.setJMenuBar(menuBar); frame.getContentPane().add(contentPane); frame.setTitle("P2P Visualisation Server"); frame.setSize(new Dimension(800, 600)); frame.setResizable(true); // This code has been adapted from http://lookass.ch/?id=4&area=art&art=47 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension size = frame.getSize(); screenSize.height = screenSize.height / 2; screenSize.width = screenSize.width / 2; size.height = size.height / 2; size.width = size.width / 2; int y = screenSize.height - size.height; int x = screenSize.width - size.width; frame.setLocation(x, y); frame.setVisible(true); frame.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); }
From source file:view.MainWindow.java
@Override public boolean dispatchKeyEvent(KeyEvent e) { if (e.getID() == KeyEvent.KEY_PRESSED) { if (e.isControlDown()) { if (e.getKeyCode() == KeyEvent.VK_W) { closeDocument(true);/*w w w . j a v a 2 s.c om*/ } else if (e.getKeyCode() == KeyEvent.VK_ADD) { workspacePanel.zoomIn(); } else if (e.getKeyCode() == KeyEvent.VK_SUBTRACT) { workspacePanel.zoomOut(); } else if (e.getKeyCode() == KeyEvent.VK_DOWN || e.getKeyCode() == KeyEvent.VK_RIGHT) { workspacePanel.pageUp(); } else if (e.getKeyCode() == KeyEvent.VK_UP || e.getKeyCode() == KeyEvent.VK_LEFT) { workspacePanel.pageDown(); } if (e.isShiftDown()) { if (e.getKeyCode() == KeyEvent.VK_S) { workspacePanel.changeCard(WorkspacePanel.CardEnum.SIGN_PANEL, true); } else if (e.getKeyCode() == KeyEvent.VK_V) { workspacePanel.changeCard(WorkspacePanel.CardEnum.VALIDATE_PANEL, true); } } } } else if (e.getID() == KeyEvent.KEY_RELEASED) { } else if (e.getID() == KeyEvent.KEY_TYPED) { } return false; }
From source file:xtrememp.XtremeMP.java
protected void createMenuBar() { menuBar = new JMenuBar(); // File Menu//w w w. ja va 2 s.co m String fileMenuStr = tr("MainFrame.Menu.File"); fileMenu = new JMenu(fileMenuStr); fileMenu.setMnemonic(fileMenuStr.charAt(0)); openMenuItem = new JMenuItem(tr("MainFrame.Menu.File.OpenFile")); openMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK)); openMenuItem.setIcon(Utilities.FOLDER_ICON); openMenuItem.addActionListener(this); fileMenu.add(openMenuItem); openURLMenuItem = new JMenuItem(tr("MainFrame.Menu.File.OpenURL")); openURLMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_DOWN_MASK)); openURLMenuItem.setIcon(Utilities.FOLDER_REMOTE_ICON); openURLMenuItem.addActionListener(this); fileMenu.add(openURLMenuItem); fileMenu.addSeparator(); openPlaylistMenuItem = new JMenuItem(tr("MainFrame.Menu.File.OpenPlaylist")); openPlaylistMenuItem.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); openPlaylistMenuItem.setIcon(Utilities.DOCUMENT_OPEN_ICON); openPlaylistMenuItem.addActionListener(this); fileMenu.add(openPlaylistMenuItem); savePlaylistMenuItem = new JMenuItem(tr("MainFrame.Menu.File.SavePlaylist")); savePlaylistMenuItem.setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); savePlaylistMenuItem.setIcon(Utilities.DOCUMENT_SAVE_ICON); savePlaylistMenuItem.addActionListener(this); fileMenu.add(savePlaylistMenuItem); fileMenu.addSeparator(); preferencesMenuItem = new JMenuItem(tr("MainFrame.Menu.File.Preferences")); preferencesMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_DOWN_MASK)); preferencesMenuItem.addActionListener(this); fileMenu.add(preferencesMenuItem); fileMenu.addSeparator(); exitMenuItem = new JMenuItem(tr("MainFrame.Menu.File.Exit")); exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_DOWN_MASK)); exitMenuItem.addActionListener(this); fileMenu.add(exitMenuItem); menuBar.add(fileMenu); // Player Menu String playerMenuStr = tr("MainFrame.Menu.Player"); playerMenu = new JMenu(playerMenuStr); playerMenu.setMnemonic(playerMenuStr.charAt(0)); playPauseMenuItem = new JMenuItem(tr("MainFrame.Menu.Player.Play")); playPauseMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_DOWN_MASK)); playPauseMenuItem.addActionListener(this); playerMenu.add(playPauseMenuItem); stopMenuItem = new JMenuItem(tr("MainFrame.Menu.Player.Stop")); stopMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_DOWN_MASK)); // stopMenuItem.setIcon(Utilities.MEDIA_STOP_ICON); stopMenuItem.setEnabled(false); stopMenuItem.addActionListener(this); playerMenu.add(stopMenuItem); previousMenuItem = new JMenuItem(tr("MainFrame.Menu.Player.Previous")); previousMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK)); // previousMenuItem.setIcon(Utilities.MEDIA_PREVIOUS_ICON); previousMenuItem.setEnabled(false); previousMenuItem.addActionListener(this); playerMenu.add(previousMenuItem); nextMenuItem = new JMenuItem(tr("MainFrame.Menu.Player.Next")); nextMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK)); // nextMenuItem.setIcon(Utilities.MEDIA_NEXT_ICON); nextMenuItem.setEnabled(false); nextMenuItem.addActionListener(this); playerMenu.add(nextMenuItem); playerMenu.addSeparator(); //PlayMode submenu String playModeSubMenuStr = tr("MainFrame.Menu.Player.PlayMode"); playModeSubMenu = new JMenu(playModeSubMenuStr); playModeRepeatNoneMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.Player.PlayMode.RepeatNone")); playModeRepeatNoneMenuItem.setIcon(Utilities.PLAYLIST_REPEAT_NONE_ICON); playModeRepeatNoneMenuItem.addActionListener(this); playModeSubMenu.add(playModeRepeatNoneMenuItem); playModeRepeatOneMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.Player.PlayMode.RepeatOne")); playModeRepeatOneMenuItem.setIcon(Utilities.PLAYLIST_REPEAT_ONE_ICON); playModeRepeatOneMenuItem.addActionListener(this); playModeSubMenu.add(playModeRepeatOneMenuItem); playModeRepeatAllMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.Player.PlayMode.RepeatAll")); playModeRepeatAllMenuItem.setIcon(Utilities.PLAYLIST_REPEAT_ALL_ICON); playModeRepeatAllMenuItem.addActionListener(this); playModeSubMenu.add(playModeRepeatAllMenuItem); playModeShuffleMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.Player.PlayMode.Shuffle")); playModeShuffleMenuItem.setIcon(Utilities.PLAYLIST_SHUFFLE_ICON); playModeShuffleMenuItem.addActionListener(this); playModeSubMenu.add(playModeShuffleMenuItem); ButtonGroup playModeBG = new ButtonGroup(); playModeBG.add(playModeRepeatNoneMenuItem); playModeBG.add(playModeRepeatOneMenuItem); playModeBG.add(playModeRepeatAllMenuItem); playModeBG.add(playModeShuffleMenuItem); playerMenu.add(playModeSubMenu); playerMenu.addSeparator(); randomizePlaylistMenuItem = new JMenuItem(tr("MainFrame.Menu.Player.Randomize")); randomizePlaylistMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_DOWN_MASK)); randomizePlaylistMenuItem.setEnabled(false); randomizePlaylistMenuItem.addActionListener(this); playerMenu.add(randomizePlaylistMenuItem); menuBar.add(playerMenu); // View Menu String viewMenuStr = tr("MainFrame.Menu.View"); viewMenu = new JMenu(viewMenuStr); viewMenu.setMnemonic(viewMenuStr.charAt(0)); playlistManagerMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.View.PlaylistManager")); playlistManagerMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_DOWN_MASK)); playlistManagerMenuItem.addActionListener(this); viewMenu.add(playlistManagerMenuItem); visualizationMenuItem = new JRadioButtonMenuItem(tr("MainFrame.Menu.View.Visualizations")); visualizationMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_DOWN_MASK)); visualizationMenuItem.addActionListener(this); viewMenu.add(visualizationMenuItem); ButtonGroup viewBG = new ButtonGroup(); viewBG.add(playlistManagerMenuItem); viewBG.add(visualizationMenuItem); menuBar.add(viewMenu); // Help menu String helpMenuStr = tr("MainFrame.Menu.Help"); helpMenu = new JMenu(helpMenuStr); helpMenu.setMnemonic(helpMenuStr.charAt(0)); updateMenuItem = new JMenuItem(tr("MainFrame.Menu.Help.CheckForUpdates")); updateMenuItem.addActionListener(this); helpMenu.add(updateMenuItem); helpMenu.addSeparator(); aboutMenuItem = new JMenuItem(tr("MainFrame.Menu.Help.About")); aboutMenuItem.addActionListener(this); helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); menuBar.add(Box.createHorizontalGlue()); busyLabel = new BusyLabel(new Dimension(20, 20)); menuBar.add(busyLabel); menuBar.add(Box.createHorizontalStrut(8)); mainFrame.setJMenuBar(menuBar); }