Depois de projetar a interface, você sempre precisa adicionar ações de execução correspondentes aos componentes. Existe um mecanismo de processamento de tempo correspondente em JAVA, chamado "ouvinte". O processo de adicionar ações de execução correspondentes aos componentes é chamado de "registro". em que "Listener" é uma interface que contém funções de execução correspondentes. O que você precisa fazer é implementar você mesmo as funções do método e depois "registrá-las" no componente. Em termos leigos, minha mãe me pediu para comprar molho de soja. , e ela não liga. Eu andaria pelas ruas por alguns dias, negociaria com o patrão e chegaria em casa. O resultado final que minha mãe precisa é que eu possa entregar o molho de soja nas mãos dela. de comprar molho de soja durante o semestre eu sou o mecanismo de processamento do evento Haha, mais uma vez me pede para comprar molho de soja. reflete a separação entre implementação e interface em JAVA.
Os eventos de componentes em JAVA incluem ActionEvent, KeyEvent, FocusEvent, ComponentEvent, MouseEvent, AdjustmentEvent, etc. Cada componente suporta todos ou parte dos eventos. O evento correspondente possui um Listener correspondente para monitorar a ocorrência do evento e implementar o método de interface, programa. O que o membro precisa fazer é criar um objeto de classe de evento, implementar as funções nele e então registrá-lo com o componente correspondente. Aqui está uma demonstração de código:
Copie o código do código da seguinte forma:
importar javax.swing.*;
importar java.awt.*;
importar java.awt.event.*;
classe pública ButtonDemo {
privateJFrame
frame=new JFrame("ButtonDemo");
botão J privado
b1 = novo JButton("Botão 1"),
b2 = new JButton("Botão 2");
privateJTextField
txt = novo JTextField(10);
//Aqui está uma classe anônima usada para monitorar botões.
private ActionListener bl=new ActionListener() {
//Implementa a função abstrata na classe de escuta
public void actionPerformed(ActionEvent e) {
Nome da string = ((JButton)e.getSource()).getText();
txt.setText(nome);
}
};
public ButtonDemo () {
//Registra o objeto de escuta nos dois botões
b1.addActionListener(bl);
b2.addActionListener(bl);
frame.setLayout(novo FlowLayout());
quadro.add(b1);
quadro.add(b2);
quadro.add(txt);
frame.setVisible (verdadeiro);
frame.setSize(200.150);
}
public static void main(String[] args) {
novo ButtonDemo();
}
}
Se houver mais de uma função na interface de escuta e eu quiser implementar apenas uma das funções, é óbvio que o programa não pode ser executado, porque você deve implementar todas as funções na interface antes que ele possa ser compilado e o programa pode correr. Levante-se, o que devemos fazer? Haha, obviamente os designers da linguagem JAVA levaram isso em consideração, então eles fornecem um cara chamado "Adapter", que implementa todas as funções na interface por padrão, herda a classe "Adapter" e substitui a função na qual você está interessado. É isso:
Copie o código do código da seguinte forma:
classe MyMouseListener estende MouseAdapter{
public void mouseClicked(MouseEvent e){
//Realiza a ação quando o mouse é clicado
}
}