Java 从一个类到另一个类使用JTextField
我试图在B班中使用a班的JTextField。我做了一些研究,但似乎找不到答案 下面是我的A班的样子:Java 从一个类到另一个类使用JTextField,java,swing,Java,Swing,我试图在B班中使用a班的JTextField。我做了一些研究,但似乎找不到答案 下面是我的A班的样子: public A extends JFrame implements ActionListener { public A(){ chrono = new JTextField("" + sec); // déclarer final car une classe interne va acceder à ce composant chrono.setHorizontalA
public A extends JFrame implements ActionListener {
public A(){
chrono = new JTextField("" + sec); // déclarer final car une classe interne va acceder à ce composant
chrono.setHorizontalAlignment(SwingConstants.CENTER);
chrono.setEditable(false);
chrono.setFont(new Font("Tahoma", Font.BOLD, 54));
chrono.setText("");
chrono.setBounds(631, 11, 127, 72);
contentPane.add(chrono);
chrono.setColumns(10);
}
}
我的B班是这样的:
public class Actions extends Fenetre{
ActionListener tache_timer;
tache_timer = new ActionListener(){
public void actionPerformed(ActionEvent e){
sec++;
String textRes = res.getText();
if(sec == 3 ){
res.setText("FAIL");
}
if(sec == 6){
/*On realise une pause de 1 sec */
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
EcouteClavier_actionPerformed(e);
sec = 0;
}
chrono.setText("" + sec);// This JTextField is not working
}
};
}
我尝试使用的JTextField称为chrono。我如何使用从A级到B级的chrono?你(至少)有两块巧克力
你可以。。。
通过类a
的引用直接或间接地将JTextField的引用传递给类B
这通常不是一个好主意,因为它开始以某种方式将代码耦合在一起,使得以后很难进行更改,并将代码元素暴露在无法控制的更改中(一旦我引用了文本字段,是什么阻止我将其从父容器中删除?)
你可以。。。
使用a允许B
通知相关方某些状态已更改。这样一来,B
就不在乎谁对更改感兴趣,也不在乎他们想对更改做什么,从而使更改变得更加灵活,在将来的使用和更改也更加容易
ActionListener
是一个示例,它通知您需要对其采取操作的某些事件
您可以重用核心API中可用的许多EventListener
s中的任何一个,或者制作自己的。然后让A
实现此侦听器(直接或间接),并向B
注册通知兴趣。当B
的状态发生变化时,它将触发事件通知返回给相关方
你不应该。。。
尝试使用静态 你有(至少)两块巧克力
你可以。。。
通过类a
的引用直接或间接地将JTextField的引用传递给类B
这通常不是一个好主意,因为它开始以某种方式将代码耦合在一起,使得以后很难进行更改,并将代码元素暴露在无法控制的更改中(一旦我引用了文本字段,是什么阻止我将其从父容器中删除?)
你可以。。。
使用a允许B
通知相关方某些状态已更改。这样一来,B
就不在乎谁对更改感兴趣,也不在乎他们想对更改做什么,从而使更改变得更加灵活,在将来的使用和更改也更加容易
ActionListener
是一个示例,它通知您需要对其采取操作的某些事件
您可以重用核心API中可用的许多EventListener
s中的任何一个,或者制作自己的。然后让A
实现此侦听器(直接或间接),并向B
注册通知兴趣。当B
的状态发生变化时,它将触发事件通知返回给相关方
你不应该。。。
尝试使用静态