He estado sentado aquí en mi computadora durante aproximadamente 13 horas y creo que mis ojos están sangrando. Encontré un pequeño editor de gui que me encanta llamado GuiGenie. Funciona perfecto para crear la ventana con los botones y todas esas cosas buenas. El problema es que quiero hacer clic en un botón en mi primer menú y hacer que abra mi otro menú que hice. Acabo de comenzar a programar hace 4 semanas, así que soy un completo novato. tengo la sensación de su echar a perder debido a los métodos principales, pero no tengo ni idea y 13 horas de estar sentado aquí tratando millones de cosas me está haciendo vuelvo loco:) Esto es lo que tengo hasta ahoraJava Abrir una nueva ventana haciendo clic en un botón
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MyPanel extends JPanel {
private JTextField How;
private JLabel jcomp2;
private JLabel jcomp3;
private JButton jcomp4;
public MyPanel() {
//construct components
How = new JTextField (1);
jcomp2 = new JLabel ("How long were you parked?");
jcomp3 = new JLabel ("Minutes");
jcomp4 = new JButton ("openNewWindow");
//adjust size and set layout
setPreferredSize (new Dimension (315, 85));
setLayout (null);
//add components
add (How);
add (jcomp2);
add (jcomp3);
add (jcomp4);
//set component bounds (only needed by Absolute Positioning)
How.setBounds (245, 50, 60, 25);
jcomp2.setBounds (35, 30, 185, 50);
jcomp3.setBounds (250, 30, 60, 20);
jcomp4.setBounds (0, 0, 315, 25);
jcomp4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
});
}
public static void main (String[] args) {
JFrame frame = new JFrame ("MyPanel");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add (new MyPanel());
frame.pack();
frame.setVisible (true);
}
}
Cuando se presiona el botón, quiero que abra esta nueva ventana
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MyPanel2 extends JPanel {
private JButton jcomp1;
private JButton jcomp2;
private JButton jcomp3;
private JTextField jcomp4;
public MyPanel2() {
//construct components
jcomp1 = new JButton ("test1");
jcomp2 = new JButton ("test2");
jcomp3 = new JButton ("test3");
jcomp4 = new JTextField (5);
//adjust size and set layout
setPreferredSize (new Dimension (395, 156));
setLayout (null);
//add components
add (jcomp1);
add (jcomp2);
add (jcomp3);
add (jcomp4);
//set component bounds (only needed by Absolute Positioning)
jcomp1.setBounds (20, 45, 100, 25);
jcomp2.setBounds (135, 60, 100, 25);
jcomp3.setBounds (260, 35, 100, 25);
jcomp4.setBounds (105, 115, 100, 25);
}
public static void main (String[] args) {
JFrame frame = new JFrame ("MyPanel");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add (new MyPanel2());
frame.pack();
frame.setVisible (true);
}
}
Si alguien pudiera ayudar, ¡lo agradecería muchísimo! Tengo mucho respeto por sus pros porque si usted es un profesional en esto, es probable que sea más inteligente que el 99.9% del mundo. Esto me duele el cerebro.
dejar de tratar las cosas al azar, tomar un descanso, dormir bien por la noche, y luego leer el tutorial de swing: http : //docs.oracle.com/javase/tutorial/uiswing/. Comprenda que un JPanel debe estar encerrado en un JFrame de JDialog para que se muestre en una nueva ventana, y que solo debe tener un método principal en una aplicación. No necesitas dos. –