Galera estou aprendendo java agora e estou com um problema chato que é o seguinte:
Tenho duas classes (Janela e Janelinha) que possuem dois formulários toscos feitos em swing. Gostária que ao clicar no botão da “janelinha” fosse escrito “OK” no “jTextField” do formulário “Janela”. Já tentei de tudo e não consegui. Agradeço por qualquer ajuda. Segue o código:
*Janelinha:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Janelinha extends javax.swing.JFrame {
public Janelinha() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(195, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(132, 132, 132))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(172, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(105, 105, 105))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
Class Janelas = Class.forName("telejudiciario.ctrl.Janelas");
Method teste = Janelas.getMethod("teste");
Method pack = Janelas.getMethod("pack",null);
teste.invoke(Janelas.newInstance());
pack.invoke(Janelas.newInstance());
} catch (Exception ex) {
System.out.println("ERRO: "+ex);
}
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration
}
*Janelas:
public class Janelas extends javax.swing.JFrame {
/** Creates new form Janelas */
private javax.swing.JLabel jLabel14;
public Janelas() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setText("jButton1");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(158, 158, 158)
.addComponent(jButton1))
.addGroup(layout.createSequentialGroup()
.addGap(64, 64, 64)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(104, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(53, 53, 53))
);
pack();
}// </editor-fold>
public void teste() //Método chamado acessado pelo objeto Janelinha
{
initComponents();
this.jTextField1.setText("oi");
this.repaint();
pack();
System.out.println("ok");
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Janelinha jan = new Janelinha();
jan.setVisible(true);
jan.toFront();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Janelas().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}