ホバーすると黒からグレーに変わるボタンがありますsetRolloverIcon(ImageIcon);
。マウスカーソルが JButton の上にあるときにブール値を true に等しくする簡単な方法はありますか、または MouseMotionListener を使用してマウスカーソルの位置を確認する必要がありますか?
3710 次
3 に答える
9
マウスカーソルがJButtonの上にある間、ブール値をtrueに等しくする簡単な方法はありますか
ChangeListener
に追加できますButtonModel
。
JButton.getModel().addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
ButtonModel model = (ButtonModel) e.getSource();
if (model.isRollover()) {
//do something with Boolean variable
} else {
}
}
});
于 2013-05-24T11:24:33.467 に答える
3
これは の使用例ですButtonModel
:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class TestButtons {
protected void createAndShowGUI() {
JFrame frame = new JFrame("Test button");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JButton button = new JButton("Hello");
button.getModel().addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if (button.getModel().isRollover()) {
button.setText("World");
} else {
button.setText("Hello");
}
}
});
frame.add(button);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TestButtons().createAndShowGUI();
}
});
}
}
于 2013-05-24T11:26:22.990 に答える
2
これを試して:
button.addMouseListener(new MouseListener() {
public void mouseEntered(MouseEvent e) {
yourBoolean = true;
}
}
幸運を
于 2013-05-24T11:20:10.157 に答える