Для добавления каких-либо действий в кнопку просто создайте объект из класса, который реализует интерфейс ActionListener:
menuFileWebsite.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
launchURL("http://www.google.com");
}
});
здесь мы создаем анонимный внутренний объект, который реализует интерфейс Actionlistener, и переопределяем метод actionperforemed для его работы
Я делаю некоторые изменения в вашем коде, чтобы следовать стандарту Java в классе именования, и создавать любые компоненты графического интерфейса в EDT.
// WindowMakerDemo.java
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
public final class WindowMakerDemo {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new MyFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("*Game Title* Beta 0.0.1");
frame.setSize(600, 400);
frame.setLocation(100, 100);
frame.setResizable(false);
frame.setVisible(true);
}
});
}
}
final class MyFrame extends JFrame{
public MyFrame() {
createWindow();
}
private void createWindow() {
setJMenuBar(menuBarCreator());
add(setTitle());
}
private JMenuBar menuBarCreator() {
// create the menu parts
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("File");
JMenu menuHelp = new JMenu("Help");
JMenuItem menuFileWebsite = new JMenuItem("Website");
JMenuItem menuFileExit = new JMenuItem("Exit");
JMenuItem menuHelpRules = new JMenuItem("Rules");
JMenuItem menuHelpAbout = new JMenuItem("About");
JMenuItem menuHelpHow = new JMenuItem("How To Play");
// website button action
menuFileWebsite.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
launchURL("http://www.google.com");
}
});
// exit action
menuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
// make the shortcuts for the items
menuFile.setMnemonic(KeyEvent.VK_F);
menuHelp.setMnemonic(KeyEvent.VK_H);
// put the menu parts with eachother
menuBar.add(menuFile);
menuBar.add(menuHelp);
menuFile.add(menuFileWebsite);
menuFile.add(menuFileExit);
menuHelp.add(menuHelpRules);
menuHelp.add(menuHelpAbout);
menuHelp.add(menuHelpHow);
return menuBar;
}
private Component setTitle() {
JLabel title = new JLabel("Welcome To *the game*");
title.setVerticalAlignment(JLabel.TOP);
title.setHorizontalAlignment(JLabel.CENTER);
return title;
}
private void launchURL(String s) {
String s1 = System.getProperty("os.name");
try {
if (s1.startsWith("Windows")) {
Runtime.getRuntime().exec((new StringBuilder()).append("rundll32 url.dll,FileProtocolHandler ").append(s).toString());
} else {
String as[] = {"firefox", "opera", "konqueror", "epiphany",
"mozilla", "netscape"};
String s2 = null;
for (int i = 0; i < as.length && s2 == null; i++) {
if (Runtime.getRuntime().exec(new String[]{"which", as[i]}).waitFor() == 0) {
s2 = as[i];
}
}
if (s2 == null) {
throw new Exception("Could not find web browser");
}
Runtime.getRuntime().exec(new String[]{s2, s});
}
} catch (Exception exception) {
System.out.println("An error occured while trying to open the web browser!\n");
}
}
}