2016-10-26 2 views
1

Ich habe eine Zeichenfolge (in meiner Hauptmethode initialisiert), die ich in einer neuen JFrame-Fenstermethode verwenden möchte. Ich habe den folgenden Code:Importieren von zuvor verwendeten Zeichenfolgen in eine neue Methode

public static void main(String[] args){ 
WebElement link = driver.findElement(By.xpath("//*[@id='pagecontainer']/section/ul/li[1]/a")); 
String linkLocation = link.getAttribute("href"); 
} 

für meine Hauptmethode und den folgenden Code für einen JButton in meinem JPanel

public void actionPerformed(ActionEvent e) 
{ 
desk.browse(new URI(linkLocation)); 
} 

Wie bekomme ich diese Arbeit?

+0

Haben Sie Zugriff auf 'JButton' an derselben Stelle, an der Sie' linkLocation' geholt haben? – Arvind

Antwort

0

Manche Dinge wie diese helfen Ihnen vielleicht:

public String LinkLocation(){ 
    WebElement link = driver.findElement(By.xpath("//*[@id='pagecontainer']/section/ul/li[1]/a")); 
    String linkLocation = link.getAttribute("href"); 
    return linkLocation; 
    } 

public void actionPerformed(ActionEvent e) 
{ 
desk.browse(new URI(LinkLocation())); 
} 
0

Definieren Sie Ihre String außerhalb von main:

public String linkLocation = " "; 
public static void main(String[] args) { 
    WebElement link = driver.findElement(By.xpath("//*[@id='pagecontainer']/section/ul/li[1]/a")); 
    linkLocation = link.getAttribute("href"); 
} 

Sie jetzt linkLocation von anderen Orten verweisen können. Die Eingabe von linkLocation sollte funktionieren, wenn Ihre neue Methode in derselben Klasse ist, andernfalls verwenden Sie classname.linkLocation.

0

Unter der Annahme, dass Sie Zugriff auf JButton an gleicher Stelle haben haben Sie linkLocation geholt, geben Sie ihm einen Versuch JButton.setActionCommand():

public static void main(String[] args) { 
    // ... 
    String linkLocation = link.getAttribute("href"); 
    jButton.setActionCommand(linkLocation); 
    // .. 
} 

Und jetzt können Sie es mit bekommen, wie pro Ihre Post, die Button-Handler :

public void actionPerformed(ActionEvent e) { 
    desk.browse(new URI(e.getActionCommand())); 
} 
Verwandte Themen