私は Java の初心者で、大きなシステムの最初のステップを作成したいと考えています。私はこのタスクに Eclipse WindowsBuilder を使用しようとしていましたが、理解できないコードがたくさんあり、さらに、どのように進めればよいかわかりません...
やりたいことはシンプル。プログラムを実行すると、小さなウィンドウ (フレーム?) に「ユーザー名」というラベルとその横にテキスト フィールドが表示され、その下に別のラベル「パスワード」とその横にパスワード フィールドが表示されます。その下には、「送信」ボタンが必要です。このボタンを押すと、このウィンドウ/フレームが閉じられ、新しいウィンドウ/フレームが大きく開き、そこにあらゆる種類のものを入れます。これは私のコードです。最初のウィンドウが作成されます。ボタンを押したときに必要な動作をさせる方法がわかりません。さらに、メイン メソッドなしで新しいフレームの新しいクラスを作成する方法がわかりませんが、うまくいきますか?
提供できるあらゆる種類のヘルプとガイダンスに感謝します(より良い方法がある場合、またはwindowsbuilderなしで書く場合-私はそれを支持します)。
package HR;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Frame;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;
import javax.swing.JLabel;
import javax.swing.JFormattedTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class SignIn extends JFrame {
private JPanel contentPane;
private JPasswordField passwordField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SignIn frame = new SignIn();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public SignIn() {
setTitle("SYSTEM");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 308, 179);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new FormLayout(new ColumnSpec[] {
FormFactory.RELATED_GAP_COLSPEC,
FormFactory.DEFAULT_COLSPEC,
FormFactory.RELATED_GAP_COLSPEC,
FormFactory.DEFAULT_COLSPEC,
FormFactory.RELATED_GAP_COLSPEC,
FormFactory.DEFAULT_COLSPEC,
FormFactory.RELATED_GAP_COLSPEC,
ColumnSpec.decode("default:grow"),},
new RowSpec[] {
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,}));
JLabel lblNewLabel = new JLabel("User Name");
contentPane.add(lblNewLabel, "4, 4, right, default");
final JFormattedTextField username = new JFormattedTextField();
contentPane.add(username, "6, 4, 3, 1, fill, default");
JLabel lblNewLabel_1 = new JLabel("Password");
contentPane.add(lblNewLabel_1, "4, 6, right, default");
passwordField = new JPasswordField();
contentPane.add(passwordField, "6, 6, 3, 1, fill, default");
JButton btnSignIn = new JButton("Sign In");
btnSignIn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
username.setText("Me");
}
});
contentPane.add(btnSignIn, "6, 8");
}
}