1
專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)尋甸免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
可以使用java.awt.Desktop類的browse(uri)方法調(diào)用系統(tǒng)的默認(rèn)瀏覽器打開(kāi)。
2
使用javafx中的WebView組件
用這個(gè)代碼
Runtime.getRuntime().exec("explorer.exe ");
----------------
樓上的兄弟用
Runtime.getRuntime().exec("iexplore.exe ");
如果IE默認(rèn)路徑?jīng)]有注冊(cè),那么就只能訪問(wèn)注冊(cè)表來(lái)獲得IE的路徑,然后在使用了。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.event.*;
@SuppressWarnings("serial")
class Win3 extends JFrame implements ActionListener,Runnable
{
JButton button;
URL url;
JTextField text;
JEditorPane editPane;
byte b[]=new byte[118];
Thread thread;
public Win3()
{
text=new JTextField(20);
editPane=new JEditorPane();
editPane.setEditable(false);
button=new JButton("確定");
button.addActionListener(this);
thread=new Thread(this);
JPanel p=new JPanel();
p.add(new JLabel("輸入網(wǎng)址:"));
p.add(text);
p.add(button);
Container con=getContentPane();
con.add(new JScrollPane(editPane),BorderLayout.CENTER);
con.add(p,BorderLayout.NORTH);
setBounds(60,60,400,300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
editPane.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent e)
{
if(e.getEventType()==
HyperlinkEvent.EventType.ACTIVATED)
{
try{
editPane.setPage(e.getURL());
}
catch(IOException e1)
{
editPane.setText(""+e1);
}
}
}
}
);
}
public void actionPerformed(ActionEvent e)
{
if(!(thread.isAlive()))
thread=new Thread(this);
try{
thread.start();
}
catch(Exception ee)
{
text.setText("我正在讀取"+url);
}
}
public void run()
{
try {
int n=-1;
editPane.setText(null);
url=new URL(text.getText().trim());
editPane.setPage(url);
}
catch(MalformedURLException e1)
{
text.setText(""+e1);
return;
}
catch(IOException e1)
{
text.setText(""+e1);
return;
}
}
}
public class Example3
{
public static void main(String args[])
{
new Win3();
}
}
一般來(lái)說(shuō)有兩種常見(jiàn)的方法,根據(jù)需要任選一種就可以了。
1、在login.java里面,你要啟動(dòng)a.java的窗口,肯定會(huì)new一個(gè)a的對(duì)象,你可以在a里面定義幾個(gè)成員變量,例如
public class a{
public String user_name=null;
public a(){
}
}
然后在new一個(gè)a對(duì)象以后直接把這個(gè)成員變量賦值,就可以了,例如在login.java里面
a form_a=new a();
a.user_name="用戶名";
這樣在a的代碼里面就可以盡情使用了。如果要更加規(guī)范一些,就不要使用public聲明,而把user_name設(shè)置為private變量,然后寫兩個(gè)方法 getUsername()和setUsername(Stirng username)來(lái)操作它。
2、在login.java或者a.java里面定義靜態(tài)變量,即static變量,例如這樣:
public class a{
public static String user_name=null;
public a(){
}
}
這樣定義的變量,不需要類實(shí)例化成為對(duì)象就可以使用,不過(guò)全局只有一個(gè),在某些時(shí)候非常適合,例如這里的保存用戶名,但是當(dāng)變量為對(duì)象相關(guān)的時(shí)候是不適合的。
在login.java里面這樣使用:
a.user_name="用戶名";
然后再加上你彈出a.java的窗口的代碼就可以了。
webBrowser.addWebBrowserListener(new WebBrowserAdapter() {
// 監(jiān)聽(tīng)加載進(jìn)度
public void loadingProgressChanged(WebBrowserEvent e) {
// 當(dāng)加載完畢時(shí)
if (e.getWebBrowser().getLoadingProgress() == 100) { }
}
}
我來(lái)梳理思路并給你講下邏輯和流程
Java想要實(shí)現(xiàn)電腦開(kāi)機(jī)自動(dòng)打開(kāi)瀏覽器網(wǎng)站需要借助的是開(kāi)機(jī)自啟的EXE,Java自身是不可能繞開(kāi)系統(tǒng)這一關(guān)的,Windows下的話必須要借助注冊(cè)表一類的,實(shí)現(xiàn)開(kāi)機(jī)自啟EXE,然后通過(guò)EXE執(zhí)行打開(kāi)瀏覽器訪問(wèn)指定地址的網(wǎng)站。
思路明確后,我們需要的是一個(gè)成品的EXE
代碼上我就不過(guò)多解釋了,直接用下面的代碼
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+url);
(就是通過(guò)默認(rèn)瀏覽器直接打開(kāi)指定網(wǎng)頁(yè))
編寫好代碼后開(kāi)始減小體積,也就是刪除不使用的類以及不使用的字符集編碼
確認(rèn)瘦身后依舊運(yùn)行正常后,開(kāi)始進(jìn)行壓縮,建議是用pack200,效果賊好
然后把程序打成jar包,然后在上層目錄編寫啟動(dòng)批處理
編寫完成后測(cè)試程序能否正常啟動(dòng),如果不行就檢查下是不是少類了
然后把批處理編成EXE,QBFC比較好用,如果做安裝包的話記得掛G模式,InnoSetup這里也可以耍一下
這個(gè)時(shí)候我們就獲取到了一個(gè)安裝腳本,然后我們要做的就是修改安裝腳本的代碼
在腳本中加上下面的一段
[Registry]
Root: HKLM; Subkey: "SOFTWARE/Microsoft/Windows/CurrentVersion/Run"; ValueType: string; ValueName: "程序名"; ValueData: """{app}/main.exe"" ""{app}/jre/bin"""
直接使用這個(gè)時(shí)候的安裝腳本和安裝包就可以實(shí)現(xiàn)了
開(kāi)機(jī)自動(dòng)啟動(dòng)這個(gè)編寫好的EXE,然后這個(gè)EXE就自動(dòng)打開(kāi)默認(rèn)瀏覽器并訪問(wèn)指定網(wǎng)頁(yè)了