私のコンピュータで約13時間座っていましたが、私の目は出血していると思います。 GuiGenieという小さなGUIエディタが見つかりました。 これは、ボタンとすべての良いものでウィンドウを作成するのに最適です。 問題は、私の最初のメニューのボタンをクリックして、私が作った他のメニューを開くことです。 私はちょうど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%よりもスマートです。 これは私の脳を傷つけるものです。ここで
停止から取られた変更されたコードです:-)実際の生活セーバーあり、休憩を取る、良い夜眠る、その後、Swingのチュートリアル読みます。http ://docs.oracle.com/javase/tutorial/uiswing/ JPanelをJDialogのJFrameに囲んで新しいウィンドウに表示する必要があること、そしてアプリケーション内にmainメソッドを1つしか持たないことを理解してください。 2つは必要ありません。 –