Được ngồi đây tại máy tính của tôi trong khoảng 13 giờ và tôi nghĩ rằng đôi mắt của tôi đang chảy máu. Tôi tìm thấy một biên tập viên gui nhỏ mà tôi thích gọi là GuiGenie. Nó hoạt động hoàn hảo để tạo cửa sổ bằng các nút và tất cả những thứ tốt đẹp đó. Vấn đề là tôi muốn bấm vào một nút trong menu đầu tiên của tôi và mở nó ra menu khác mà tôi đã tạo. Tôi mới bắt đầu lập trình cách đây 4 tuần vì vậy tôi là một người hoàn thành. Tôi có một cảm giác của nó rối tung lên vì các phương pháp chính nhưng tôi không có ý tưởng và 13 giờ ngồi đây cố gắng hàng triệu điều đang khiến tôi phát điên:) đây là những gì tôi có cho đến nayJava Mở một cửa sổ mới bằng cách nhấp vào một nút
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);
}
}
Khi nhấn nút, tôi muốn mở nút này cửa sổ mới
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);
}
}
Nếu có ai có thể giúp tôi đánh giá cao điều đó !! Tôi có rất nhiều sự tôn trọng đối với các bạn, vì nếu bạn là một người chuyên nghiệp, bạn có thể thông minh hơn 99,9% thế giới. Công cụ này làm tổn thương não tôi.
Dừng cố gắng điều ngẫu nhiên, nghỉ ngơi, ngủ một đêm ngon giấc, và sau đó đọc các hướng dẫn Swing: http : //docs.oracle.com/javase/tutorial/uiswing/. Hiểu rằng một JPanel phải được đặt trong một JFrame của JDialog được hiển thị trong một cửa sổ mới và bạn chỉ nên có một phương thức chính trong một ứng dụng. Bạn không cần hai. –