我正在编写一个简单的JFrame / Application,它打开一个带有一些简单按钮的applet。 我希望这些按钮能够在点击时打开某些网页/链接。
代码:
package me.jamplifier;
import java.awt.Desktop;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import javax.swing.*;
public class Launcher extends JFrame
{
public Launcher()
{
JFrame frame = new JFrame("Hurricane Craft");
frame.setVisible(true);
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Welcome to Hurricane Craft");
JPanel panel = new JPanel();
frame.add(panel);
panel.add(label);
JButton site = new JButton("Site");
JButton forums = new JButton("Forums");
panel.add(site);
panel.add(forums);
}
public static void main(String[] args)
{
new Launcher();
}
}
答案 0 :(得分:2)
您可以使用以下代码从java打开网页,它将打开您的默认浏览器并使用提供的字符串/网址:
public void openWebPage(String url){
try {
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
}
catch (java.io.IOException e) {
System.out.println(e.getMessage());
}
}
要通过按钮调用此功能,只需为您的网站和论坛按钮添加ActionListener即可:
forum.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openWebPage("http://www.mywebsite.com/forum/");
}
});
使用网站而不是论坛网址为您的网站制作另一个actionlistener,您就完成了!
答案 1 :(得分:1)
您可以在按钮上添加ActionListener
,打开如下网页:
JButton site = new JButton("Site");
site.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
java.awt.Desktop.getDesktop().browse("http://www.mysite.com");
}
}
答案 2 :(得分:0)
使用上面的代码,您在 .browse 命令上给出了错误,提示“桌面类型中的方法浏览(URI)不适用于参数(字符串)” 要修复错误,请创建一个函数/方法,该函数/方法将采用字符串参数,在事件侦听器操作执行按钮中调用上述函数。
<ng-container matColumnDef="header-row-{{i}}-group" *ngFor="let grouping of groupArr; let i = index">
<mat-header-cell *matHeaderCellDef [style.text-align]="center" [attr.colspan]="2">
{{grouping}}
</mat-header-cell>
</ng-container>
像这样调用方法。
public void createLink(String url){
try {
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
}
catch (java.io.IOException e) {
System.out.println(e.getMessage());
}
}