Sono stato seduto qui al computer per circa 13 ore e penso che i miei occhi stiano sanguinando. Ho trovato un piccolo editor di gui che amo chiamato GuiGenie. Funziona perfettamente per creare la finestra con i pulsanti e tutte quelle cose buone. Il problema è che voglio fare clic su un pulsante nel mio primo menu e aprire il mio altro menu che ho creato. Ho appena iniziato la programmazione 4 settimane fa quindi sono un noob completo. Ho la sensazione sua rovinare a causa dei metodi principali, ma non ho idea e 13 ore di seduta qui cercando milioni di cose mi sta facendo impazzire:) qui è quello che ho ottenuto finoraJava Aprire una nuova finestra facendo clic su un pulsante
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);
}
}
Quando si preme il pulsante, voglio che apra questa nuova finestra
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);
}
}
Se qualcuno potesse aiutare lo apprezzerei molto !! Ho molto rispetto per voi professionisti là fuori perché se siete dei professionisti in questo, probabilmente siete più intelligenti del 99,9% del mondo. Questa roba mi fa male al cervello.
Smettere di cercare le cose a caso, fare una pausa, un buon riposo notturno, e quindi leggere il tutorial swing: http : //docs.oracle.com/javase/tutorial/uiswing/. Comprendi che un JPanel deve essere racchiuso in un JFrame di JDialog per essere mostrato in una nuova finestra e che devi avere solo un metodo principale in un'applicazione. Non hai bisogno di due. –