如何访问JFrame 内部的Jpanel 内部的JTextField 的内容?
How to access to the content of JTextField inside of Jpanel inside of JFrame?
我正在尝试从另一个文件中的另一个 Java Class 读取 JFrame 中 JPanel 中 JTextField 的内容。
所以在一个 .java 文件中我有这个代码:
public class Ventana extends JFrame implements ActionListener {
public Ventana() {
setSize(500, 500);
setTitle("Ventana");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel();
grafica();
}
public void actionPerformed(ActionEvent e) {
}
public void panel() {
JPanel panel = new JPanel();
panel.setBounds(0, 0, 500, 50);
panel.setVisible(true);
panel.setBackground(Color.DARK_GRAY);
JLabel etiqueta1 = new JLabel("A: ");
JLabel etiqueta2 = new JLabel("B: ");
JLabel etiqueta3 = new JLabel("C: ");
JTextField cuadroTexto1, cuadroTexto2, cuadroTexto3;
cuadroTexto1 = new JTextField(" ");
cuadroTexto2 = new JTextField(" ");
cuadroTexto3 = new JTextField(" ");
JButton boton = new JButton("Calcular");
panel.add(etiqueta1);
panel.add(cuadroTexto1);
panel.add(etiqueta2);
panel.add(cuadroTexto2);
panel.add(etiqueta3);
panel.add(cuadroTexto3);
panel.add(boton);
this.getContentPane().add(panel, BorderLayout.NORTH);
this.validate();
}
// more code under...
我正在尝试在另一个 .java 文件中:
public class Controlador implements ActionListener{
private Ventana vista;
private Datos modelo;
public Controlador( Ventana vista , Datos modelo){
this.vista = vista;
this.modelo = modelo;
}
//Inicia los valores del jFrame Ventana con los datos del MODELO "Datos".
public void iniciar_vista(){
vista.setTitle( "Demo" );
}
public void actionPerformed(ActionEvent e) {
modelo.setA( Integer.valueOf( vista.cuadroTexto1.getText() ) );
}
}
所以我想做的是在这段代码的最后一行访问“cuadroTexto1”,阅读同意将其发送到另一个变量,但我不知道该怎么做。
我不确定您是否拥有提供答案所需的所有信息。如果是这样的话,我会回答你的任何问题。
需要在构造函数前声明cuadroTexto1
public class Ventana extends JFrame implements ActionListener {
JTextField cuadroTexto1; //declaration
public Ventana() {
setSize(500, 500);
setTitle("Ventana");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel();
grafica();
您可能还需要为 cuadroTexto1 添加 getter,具体取决于 cuadroTexto1 java 文件的位置
我正在尝试从另一个文件中的另一个 Java Class 读取 JFrame 中 JPanel 中 JTextField 的内容。
所以在一个 .java 文件中我有这个代码:
public class Ventana extends JFrame implements ActionListener {
public Ventana() {
setSize(500, 500);
setTitle("Ventana");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel();
grafica();
}
public void actionPerformed(ActionEvent e) {
}
public void panel() {
JPanel panel = new JPanel();
panel.setBounds(0, 0, 500, 50);
panel.setVisible(true);
panel.setBackground(Color.DARK_GRAY);
JLabel etiqueta1 = new JLabel("A: ");
JLabel etiqueta2 = new JLabel("B: ");
JLabel etiqueta3 = new JLabel("C: ");
JTextField cuadroTexto1, cuadroTexto2, cuadroTexto3;
cuadroTexto1 = new JTextField(" ");
cuadroTexto2 = new JTextField(" ");
cuadroTexto3 = new JTextField(" ");
JButton boton = new JButton("Calcular");
panel.add(etiqueta1);
panel.add(cuadroTexto1);
panel.add(etiqueta2);
panel.add(cuadroTexto2);
panel.add(etiqueta3);
panel.add(cuadroTexto3);
panel.add(boton);
this.getContentPane().add(panel, BorderLayout.NORTH);
this.validate();
}
// more code under...
我正在尝试在另一个 .java 文件中:
public class Controlador implements ActionListener{
private Ventana vista;
private Datos modelo;
public Controlador( Ventana vista , Datos modelo){
this.vista = vista;
this.modelo = modelo;
}
//Inicia los valores del jFrame Ventana con los datos del MODELO "Datos".
public void iniciar_vista(){
vista.setTitle( "Demo" );
}
public void actionPerformed(ActionEvent e) {
modelo.setA( Integer.valueOf( vista.cuadroTexto1.getText() ) );
}
}
所以我想做的是在这段代码的最后一行访问“cuadroTexto1”,阅读同意将其发送到另一个变量,但我不知道该怎么做。
我不确定您是否拥有提供答案所需的所有信息。如果是这样的话,我会回答你的任何问题。
需要在构造函数前声明cuadroTexto1
public class Ventana extends JFrame implements ActionListener {
JTextField cuadroTexto1; //declaration
public Ventana() {
setSize(500, 500);
setTitle("Ventana");
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel();
grafica();
您可能还需要为 cuadroTexto1 添加 getter,具体取决于 cuadroTexto1 java 文件的位置