Est-il possible: déclencheur JButton événements par l'intermédiaire d'un appel de méthode - pas JButton clics?
Est-il possible de déclencher des événements par appel de méthode? (côté clique).
ci-dessous est un exemple de code. ce n'est pas un code de travail, il démontre simplement la façon dont je l'imagine.
import java.awt.event.*;
import javax.swing.*;
public class Game extends JFrame
{
JButton leftButton = new JButton("left");
JButton rightButton = new JButton ("right");
private JButton Move(String moveClickString)
{
JButton chosenButton = new JButton();
if (moveClickString.equals("left"))
{
chosenButton = leftButton;
}
if (moveClickString.equals("right"))
{
chosenButton = rightButton;
}
return chosenButton;
}
public void actionTrigger(JButton buttonClick)
{
buttonClick.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Object buttonPressed = e.getSource();
if (buttonPressed == leftButton);
{
//do left
}
if (buttonPressed == rightButton);
{
//do right
}
}
});
}
public static void main(String[] args)
{
Game game = new Game();
game.setVisible(true);
game.actionTrigger(game.Move("left")); //some way to execute things?.
}
}
Est-il un moyen d'exécuter les choses?.
En fait, cette idée me vient à l'esprit quand j'ai essayé de résoudre un problème, je suis confronté avec des. J'ai posté un distinct question à ce sujet.
(concernant que les précédentes posté question): En termes de client-serveur, je veux réaliser ce:
-
Lorsque le client clique sur un bouton dans l'interface utilisateur.
-
Une chaîne de caractères 'A' envoyé pour le côté serveur.
-
Lorsque le serveur reçoit la chaîne de caractères 'A' à partir du client invoque 'methodA'; methodA invocation sera
incidence sur l'IHM dans le côté serveur. De sorte que le Client et le Serveur d'Interfaces graphiques mis à jour en conséquence.
Merci.
Vous devez vous connecter pour publier un commentaire.
JButton
a undoClick()
méthode héritée deAbstractButton
.http://docs.oracle.com/javase/6/docs/api/javax/swing/AbstractButton.html#doClick
ce qui signifie que vous pouvez simplement écrire