Hola buenos días a todos. Soy reciente en este foro. Les pido su ayuda para terminar mi proyecto, ya que estoy un poco atorado y no encontrado la solución a mi problema, he estado buscando y preguntándole a varías personas. Pero hasta ahora sin exitó.
Mi problema es que debo crear un JDialog o JInternalFrame desde una consulta SQL. Tengo el siguiente AcctionListener que me trae la ruta del formulario y el nombre. Pero no tengo la menor idea de como crear el formulario, ya que es un String, no veo forma de convertir el String a JDialog.
protected class oyente implements ActionListener { @Override public void actionPerformed(ActionEvent e) { try {
String nombre = e.getActionCommand(); //Nombre de JMenuItem es igual al nombre del formulario
String consultado = "Select formulario from menu_hijo where nombre_formulario= ?";
pstm3 = conexion.prepareStatement(consultado);
pstm3.setString(1, sender);
rSet = pstm3.executeQuery(); JOptionPane.showMessageDialog(null, nombre, "Aqui", JOptionPane.INFORMATION_MESSAGE); if (rSet.next()) { String vg = rSet.getString(1); // Almaceno el campo que tiene el nombre del formulario
String corto = vg.substring(19, 24);//Y solo guardo el nombre del formulario quitando la ruta donde esta }
} He visto que lo hacen en C# de la siguiente manera: private void ChildClick(object sender, EventArgs e) { // MessageBox.Show(string.Concat("You have Clicked ", sender.ToString(), " Menu"), "Menu Items Event",MessageBoxButtons.OK, MessageBoxIcon.Information); String Seqtx = "SELECT FRM_CODE FROM MNU_SUBMENU WHERE FRM_NAME='" + sender.ToString() + "'"; SqlDataAdapter datransaction = new SqlDataAdapter(Seqtx, conn); DataTable dtransaction = new DataTable(); datransaction.Fill(dtransaction); Assembly frmAssembly = Assembly.LoadFile(Application.ExecutablePath); foreach (Type type in frmAssembly.GetTypes()) { //MessageBox.Show(type.Name); if (type.BaseType == typeof(Form)) { if (type.Name == dtransaction.Rows[0][0].ToString()) { Form frmShow = (Form)frmAssembly.CreateInstance(type.ToString()); // then we close all of the child Forms with simple below code foreach (Form form in this.MdiChildren) { form.Close(); } frmShow.MdiParent = this; frmShow.WindowState = FormWindowState.Maximized; //frmShow.ControlBox = false; frmShow.Show(); } } } }
Ellos tienen un emsamblado pero aqui en java cual sería? Les agradezco mucho su amable atención y ojala puedan orientarme o darme una idea de donde buscar. Saludos!!!!
Hola buenos días a todos.
Soy reciente en este foro.
Les pido su ayuda para terminar mi proyecto, ya que estoy un poco atorado y no encontrado la solución a mi problema, he estado buscando y preguntándole a varías personas. Pero hasta ahora sin exitó.
Mi problema es que debo crear un JDialog o JInternalFrame desde una consulta SQL.
Tengo el siguiente AcctionListener que me trae la ruta del formulario y el nombre.
Pero no tengo la menor idea de como crear el formulario, ya que es un String, no veo forma de convertir el String a JDialog.
protected class oyente implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
try {
String nombre = e.getActionCommand(); //Nombre de JMenuItem es igual al nombre del formulario
String consultado = "Select formulario from menu_hijo where nombre_formulario= ?";
pstm3 = conexion.prepareStatement(consultado);
pstm3.setString(1, sender);
rSet = pstm3.executeQuery();
JOptionPane.showMessageDialog(null, nombre, "Aqui", JOptionPane.INFORMATION_MESSAGE);
if (rSet.next()) {
String vg = rSet.getString(1); // Almaceno el campo que tiene el nombre del formulario
String corto = vg.substring(19, 24);//Y solo guardo el nombre del formulario quitando la ruta donde esta
}
} catch (SQLException ex) {
Logger.getLogger(temporal.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
He visto que lo hacen en C# de la siguiente manera:
private void ChildClick(object sender, EventArgs e)
{
// MessageBox.Show(string.Concat("You have Clicked ", sender.ToString(), " Menu"), "Menu Items Event",MessageBoxButtons.OK, MessageBoxIcon.Information);
String Seqtx = "SELECT FRM_CODE FROM MNU_SUBMENU WHERE FRM_NAME='" + sender.ToString() + "'";
SqlDataAdapter datransaction = new SqlDataAdapter(Seqtx, conn);
DataTable dtransaction = new DataTable();
datransaction.Fill(dtransaction);
Assembly frmAssembly = Assembly.LoadFile(Application.ExecutablePath);
foreach (Type type in frmAssembly.GetTypes())
{
//MessageBox.Show(type.Name);
if (type.BaseType == typeof(Form))
{
if (type.Name == dtransaction.Rows[0][0].ToString())
{
Form frmShow = (Form)frmAssembly.CreateInstance(type.ToString());
// then we close all of the child Forms with simple below code
foreach (Form form in this.MdiChildren)
{
form.Close();
}
frmShow.MdiParent = this;
frmShow.WindowState = FormWindowState.Maximized;
//frmShow.ControlBox = false;
frmShow.Show();
}
}
}
}
Ellos tienen un emsamblado pero aqui en java cual sería?
Les agradezco mucho su amable atención y ojala puedan orientarme o darme una idea de donde buscar.
Saludos!!!!