Java 如何在ActionListener中调用某些内容
因此,我试图在操作侦听器中为我的一个按钮调用一个方法,但不断出现一个错误,称为“未处理的异常类型”Java 如何在ActionListener中调用某些内容,java,swing,url,methods,actionlistener,Java,Swing,Url,Methods,Actionlistener,因此,我试图在操作侦听器中为我的一个按钮调用一个方法,但不断出现一个错误,称为“未处理的异常类型” public static void randomRoll(final JPanel panel, final int array[]) throws Exception { final ImageIcon icon = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Di
public static void randomRoll(final JPanel panel, final int array[]) throws Exception
{
final ImageIcon icon = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Dice-1.png/45px-Dice-1.png"));
final ImageIcon icon1 = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Dice-2.png/45px-Dice-2.png"));
final ImageIcon icon2 = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Dice-3.png/45px-Dice-3.png"));
final ImageIcon icon3 = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Dice-4.png/45px-Dice-4.png"));
final ImageIcon icon4 = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Dice-5.png/45px-Dice-5.png"));
final ImageIcon icon5 = new ImageIcon(new URL("http://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Dice-6.png/45px-Dice-6.png"));
//final ImageIcon [] diceIcons = {icon, icon1, icon2, icon3, icon4, icon5};
final JButton dice = new JButton ("Roll Dice");
dice.setBounds(40, 40, 100, 30);
panel.add(dice);
panel.setLayout(null);
dice.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
randomDice(array, panel, icon, icon1, icon2, icon3, icon4, icon5);
}
});
您可以使用:
JButton addButton = new JButton("Add");
addButton.addActionListener(this);
addButton.setActionCommand("add");
然后:
@Override
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("add")){
System.out.println("from add button");
}
}
好吧,好吧,你得看这个。。。 不要将actionListener放入randomRoll(它看不到) 让actionListener成为另一种方法或任何你想要的地方(只是不需要) 这种方法)。
祝你好运。请发布你的
randomDice
方法。我遇到了一个try-and-catch异常
@Override
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.equals("add")){
System.out.println("from add button");
}
}