Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何实现侦听器,以便在单击时突出显示对象?_Java_Listener_Dice - Fatal编程技术网

Java 如何实现侦听器,以便在单击时突出显示对象?

Java 如何实现侦听器,以便在单击时突出显示对象?,java,listener,dice,Java,Listener,Dice,我的程序是创建一个面板,上面有6个骰子,我可以重新滚动。我希望能够通过单击单个模具(并突出显示单击的模具)来选择单个模具,以便它们不会被重新滚动。我有面板工作,但我似乎无法得到它,所以我可以点击一个模具,并有它突出显示,以便我可以测试我的保存方法 package UI; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class DieFrame extends JFrame{ /* * in

我的程序是创建一个面板,上面有6个骰子,我可以重新滚动。我希望能够通过单击单个模具(并突出显示单击的模具)来选择单个模具,以便它们不会被重新滚动。我有面板工作,但我似乎无法得到它,所以我可以点击一个模具,并有它突出显示,以便我可以测试我的保存方法

package UI;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class DieFrame extends JFrame{
/*
 * instance variables
 */

private DiePanel die1;
private DiePanel die2;
private DiePanel die3;
private DiePanel die4;
private DiePanel die5;
private DiePanel die6;
private JPanel field;
private JPanel menu;

/*
 * constructor
 */
public DieFrame() {
    /*
     * initialize frame properties
     */
    this.setLayout(new FlowLayout());
    this.setSize(800, 300);
    this.setTitle("Farkle Die");

    /*
     * Build Panel
     */
    this.createFieldPanel();
    this.createMenuPanel();

    /*
     * add the field & menu to frame
     */
    this.add(field);
    this.add(menu);

}

//-------------------------------------
// Class Method
//-------------------------------------

//-------------------------------------
// Private Helpers
//------------------------------------- 

/*
 * Build menu panel
 */

private void createMenuPanel() {
    menu = new JPanel();
    menu.setBounds(0, 300, 250, 100);

    //Create button & add listener to it
    JButton rollButton = new JButton("Re-Roll");
    rollButton.setSize(300, 200);
    rollButton.addActionListener(new RollListener());

    //Add button to menu area
    menu.add(rollButton);
}

/*
 * Build field panel
 */
private void createFieldPanel() {
    //set up dice field area
    field = new JPanel();
    field.setBounds(0,0,250,200);

    //create the dice and add them
    die1 = new DiePanel();
    die2 = new DiePanel();
    die3 = new DiePanel();
    die4 = new DiePanel();
    die5 = new DiePanel();
    die6 = new DiePanel();

    field.add(die1);
    field.add(die2);
    field.add(die3);
    field.add(die4);
    field.add(die5);
    field.add(die6);
}

//-------------------------------------
//inner classes
//-------------------------------------

private class RollListener implements ActionListener{
    public void actionPerformed(ActionEvent e) {
        die1.rollDie();
        die2.rollDie();
        die3.rollDie();
        die4.rollDie();
        die5.rollDie();
        die6.rollDie();

    }
    public void mouseClicked(MouseEvent arg0) {
        die1.this.setBackground(Color.yellow);

    }
}

}
请提供演示问题的。请提供演示问题的。