Был сидеть здесь у моего компьютера около 13 часов, и я думаю, что у моих глаз кровоточат. Я нашел маленький редактор gui, которого я люблю, называется GuiGenie. Он отлично подходит для создания окна с кнопками и всего хорошего материала. Проблема в том, что я хочу щелкнуть по кнопке в своем первом меню и открыть ее в другом моем меню. Я только начинаю программировать 4 недели назад, так что я полный noob. У меня есть ощущение его портя из основных методов, но я понятия не имею, и 13 часов, сидя здесь, пытаясь миллионы вещей не делает меня сходить с ума:) вот что я получил до сих порJava Открыть новое окно, нажав кнопку
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);
}
}
Когда кнопка нажата, я хочу, чтобы она открылась в новом окне.
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);
}
}
Если бы кто-нибудь мог помочь, я был бы очень признателен! У меня есть большое уважение к вам, потому что, если вы профессионал в этом, вы, вероятно, умнее 99,9% от всего мира. Этот материал болит мой мозг.
Stop пытается случайных вещей, сделать перерыв, сон спокойной ночи, а затем прочитать Свинг учебник: HTTP : //docs.oracle.com/javase/tutorial/uiswing/. Поймите, что JPanel должен быть заключен в JFrame JDialog, который будет показан в новом окне, и что у вас должен быть только один основной метод в приложении. Вам не нужны два. –