У меня есть два Java(.java) files
. У одного есть JButton
и JTextField
, а у другого есть Thread
. Вначале Java file
, я добавил ActionListener
в JButton
, так что, когда кнопка нажата, запускается поток (объект для второго .java-файла в созданном и потоке), который непрерывно изменяет целочисленную переменную. Как отобразить значение этой целочисленной переменной (2-го. Java-файла) в JTextField
(1-го. Java-файла)?Как обновить JTextField при изменении значения переменной?
Detection.java
package sample;
public class Detection implements Runnable
{
public String viewers;
public int count;
public void run()
{
try
{
while (true)
{
// i have written code for displaying video.
// and it say how many no. of people in the video
// the no of people is stored in a variable "count"
viewers=""+count; //storing count as string so as to display in the JTextField
}
}
catch (Exception e)
{
System.out.println("Exception: "+e);
}
}
}
UsrInterfac.java
// построить используя WindowBuilder затмение Юнона
package sample;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class UsrInterfac
{
private JFrame frame;
private JTextField textField;
Detection dd = new Detection();
Thread th = new Thread(dd);
/**
* Launch the application.
*/
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
UsrInterfac window = new UsrInterfac();
window.frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public UsrInterfac()
{
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize()
{
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JButton btnStartThread = new JButton("Start Thread");
btnStartThread.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
th.start();
}
});
btnStartThread.setBounds(59, 133, 117, 23);
frame.getContentPane().add(btnStartThread);
textField = new JTextField();
textField.setBounds(270, 134, 104, 20);
frame.getContentPane().add(textField);
textField.setColumns(10);
}
}
Это очень трудно понять, что вы хотите, попробуйте объяснить с какой-то образец код, например 'Class Frame' имеет' JButton' и 'JTextField'. 'Class Processor' хочет получить доступ к некоторым данным, что-то вроде этого – Apurv
i hav приложил код. Я хочу, чтобы значение переменной «зрители» в Detection.java отображалось в «textField» в UsrInterfac.java Plz tel me, как это сделать. Кроме того, переменная «зрители» продолжает меняться при потоке видео в потоке. –