我有以下两个类:
#1
public class LobbyView extends JPanel
{
private final JButton sendGameRequestButton = new JButton();
public JButton getSendGameRequestButton()
{
return sendGameRequestButton;
}
LobbyView()
{
sendGameRequestButton.setPreferredSize(new Dimension(15, 20));
sendGameRequestButton.setText("Send game request");
sendGameRequestButton.addMouseListener(new LobbyListener(this));
sendGameRequestButton.setEnabled(false);
}
}
Run Code Online (Sandbox Code Playgroud)
#2
public class LobbyListener implements MouseListener
{
LobbyView lobbyView;
public LobbyListener(LobbyView sentLobbyView)
{
lobbyView = sentLobbyView;
}
@Override
public void mouseClicked(MouseEvent e)
{
if (e.getButton() == 1)
{
if (e.getSource() == lobbyView.getSendGameRequestButton())
{
System.out.println("You pushed the disabled button");
}
}
}
Run Code Online (Sandbox Code Playgroud)
即使我在LobbyView构造函数中禁用了JButton,我仍然可以单击它并收到消息" 你按下了禁用按钮 ".
component.setEnabled(false)实际上是否禁用某个组件,或者只是将其灰显以使其禁用LOOK?