Gå til innhold

Anbefalte innlegg

Noen som kan hjelpe meg med hvordan jeg skal legge til en URL event på en knapp. Når knappen trykkes ned skal en bestemt link som er tilknyttet til den knappen aktiveres og åpnes i en nettleser(Bruke systemets default)

 

Slik er koden min sålangt:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

 

public class navbar extends JFrame{

 

public navbar() {

super("NavBar");

 

String linknavn = "Internetteknologi";

JButton hotButton = new JButton(linknavn);

 

JPanel panel = new JPanel();

panel.add(hotButton);

 

setContentPane(panel);

}

 

public static void main(String[] args) {

 

JFrame frame = new navbar();

 

WindowListener l = new WindowAdapter() {

public void windowsClosing(WindowEvent e){

System.exit(0);

}

};

 

frame.addWindowListener(l);

 

frame.pack();

frame.setVisible(true);

}

}

Lenke til kommentar
Videoannonse
Annonse

Du kan jo kjøre som kommandolinje også da, f.eks sånn

 

Code:

try
{
Process p = Runtime.getRuntime().exec("iexplore " + adresse);
}
catch(Exception e){}

 

Ulempen er selvfølgelig at den er avhengig av en nettleser (ikke nødvendigvis platform) og at nettleseren ligger i Path.

Lenke til kommentar

Quote:


Den 2002-08-31 18:39, Ptomania skrev:

den linja du satte opp funker kun i windows, og muligens på mac :wink:


 

Man kan jo erstatte 'iexplore' med opera eller netscape eller hva man måtte bruke da... Det er lov å legge sammen 2 og 2 :wink:

 

Dessuten er det vel heller sjelden at windowsbrukere setter opp miljøvariablene sine riktig, så noe annet enn ie kan være vansklig å starte med eksempelet mitt.

 

Hvilket os man kjører på kan man få fatt i med:

Code:

String osName = System.getProperty("os.name");

 

Så kan man jo starte ie i win og hva man måtte ønske for alle andre.

 

[ Denne Melding var redigert av: MailMan13 på 2002-09-01 14:20 ]

Lenke til kommentar
  • 2 måneder senere...

Jeg er ikke helt sikker på hva du mente, men jeg har laget en helt grei (enkel) web leser, og her er koden:

 

 

WebBrowser.java

----------------------------------------------------

 

/*

* WebBrowser.java

*

* Created on 21. oktober 2002, 21:46

*/

 

package no.nith.asgshe.uke5.webBrowser;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

import java.net.*;

 

//import no.nith.asgshe.uke5.webBrowser.WebBrowserPane;

//import no.nith.asgshe.uke5.webBrowser.WebToolBar;

/**

*

* @author Shervin

* @version

*/

public class WebBrowser extends JFrame {

 

private WebToolBar toolBar;

private WebBrowserPane browserPane;

/** Creates new WebBrowser */

public WebBrowser() {

super("Min første Internet Web leser");

 

browserPane = new WebBrowserPane();

toolBar = new WebToolBar(browserPane); //Lager tools for denne browseren

 

Container c = getContentPane();

c.add(toolBar,BorderLayout.NORTH);

c.add(new JScrollPane(browserPane),BorderLayout.CENTER);

}

 

public static void main(String args[] ) {

 

WebBrowser browser = new WebBrowser();

browser.setDefaultCloseOperation(EXIT_ON_CLOSE);

browser.setSize(640,480);

browser.setVisible(true);

}

 

}

 

WebBrowserPane.java

-----------------------------------------------------

 

/*

* WebBrowserPane.java

*

* Created on 21. oktober 2002, 20:44

*/

 

package no.nith.asgshe.uke5.webBrowser;

import java.util.*;

import java.net.*;

import java.io.*;

import javax.swing.*;

 

 

//import no.nith.asgshe.uke5.webBrowser.WebToolBar;

/**

*

* @author Shervin

* @version

*/

public class WebBrowserPane extends JEditorPane {

 

private List historie = new ArrayList();

private int historieIndex = 0;

//private WebToolBar webToolBar;

 

/** Creates new WebBrowserPane */

public WebBrowserPane() {

setEditable(false); //Dette gjør du for at linker skal fungere.

}

 

//Vis URL vist og sett den i historien

public void goToURL( URL url ) {

displayPage(url);

historie.add(url);

historieIndex = historie.size() -1;

System.out.println("goToURL " +historieIndex);

}

 

//Vis Neste historie URL'en i EditorPane

public URL forward() {

historieIndex++;

URL url = (URL) historie.get(historieIndex);

displayPage(url);

return url;

}

//Vis forrige historie URL'en i EditorPane

public URL back() {

historieIndex--;

URL url = (URL) historie.get(historieIndex);

System.out.println("URL " + url);

displayPage(url);

return url;

}

 

private void displayPage(URL pageURL) {

try {

setPage(pageURL);

}

 

catch (IOException e) {

e.printStackTrace();

}

}

 

public boolean testBackHistorie() {

return (historieIndex <= 0 );

//Yes den skal disables

}

 

public boolean testForwardHistorie() {

return (historieIndex == (historie.size() -1) );

}

}

 

WebToolBar.java

-----------------------------------------------------

/*

* WebToolBar.java

*

* Created on 21. oktober 2002, 21:11

*/

 

package no.nith.asgshe.uke5.webBrowser;

import java.awt.*;

import java.awt.event.*;

import java.net.*;

import javax.swing.*;

import javax.swing.event.*;

 

//import no.nith.asgshe.uke5.webBrowser.WebBrowserPane;

 

/**

*

* @author Shervin

* @version

*/

public class WebToolBar extends JToolBar implements HyperlinkListener {

 

private WebBrowserPane webBrowserPane;

private JButton backButton;

private JButton forwardButton;

private JTextField urlTextField;

private boolean melding;

 

/** Creates new WebToolBar */

public WebToolBar(WebBrowserPane browser) {

super("Web Navigasjon");

 

//registrer for hyperlinks

webBrowserPane = browser;

webBrowserPane.addHyperlinkListener(this);

 

//lag URL tekstfeltet og actionlistener på det

urlTextField = new JTextField(25);

urlTextField.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

try {

URL url = new URL( urlTextField.getText() );

webBrowserPane.goToURL(url);

melding = webBrowserPane.testBackHistorie();

if(melding)

setBackButtonDisabled();

if(!melding)

setBackButtonEnabled();

}

 

 

catch (MalformedURLException malEx) {

malEx.printStackTrace();

}

}

}

);

//Henter bildet fra harddisk

backButton = new JButton(new ImageIcon(getClass().getResource("back.gif")));

backButton.setToolTipText("Gå til forrige side");

 

//Lager actionListener for back knappen

backButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

//Drar til forrige (historien) i URL

URL url = webBrowserPane.back();//kaller på funksjonen i webBrowserPane som er laget

urlTextField.setText(url.toString() );

melding = webBrowserPane.testBackHistorie();

if(melding)

setBackButtonDisabled();

if(!melding)

setBackButtonEnabled();

 

setForwardButtonEnabled();

}

}

);

forwardButton = new JButton(new ImageIcon(getClass().getResource("forward.gif")));

forwardButton.setToolTipText("Gå til neste side");

 

forwardButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

URL url = webBrowserPane.forward();

urlTextField.setText(url.toString() );

melding = webBrowserPane.testForwardHistorie();

if(melding)

setForwardButtonDisabled();

 

setBackButtonEnabled();

}

}

);

 

//Adder back, forward og text feltet til WebToolBar

add(backButton);

add(forwardButton);

add(urlTextField);

setBackButtonDisabled(); //Lokal metode

setForwardButtonDisabled(); //Lokal metode

}

 

public void hyperlinkUpdate(HyperlinkEvent event) {

//Hvis hyperlink blir trykket på så gå til URL

if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED ) {

URL url = event.getURL();

//Vis samtidig URL I textfeltet når du drar til URL

webBrowserPane.goToURL(url);

urlTextField.setText(url.toString() );

//webBrowserPane.testHistorie();

}

}

 

public void setBackButtonDisabled() {

backButton.setEnabled(false);

}

 

 

public void setBackButtonEnabled() {

backButton.setEnabled(true);

}

 

public void setForwardButtonDisabled() {

forwardButton.setEnabled(false);

}

 

public void setForwardButtonEnabled() {

forwardButton.setEnabled(true);

}

 

 

 

}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...