저는 Java에서 초보자입니다. 큰 시스템에서 첫 번째 단계를 만들고 싶습니다. 이 작업을 위해 Eclipse WindowsBuilder를 사용하려했지만 이해할 수없는 코드가 많았으며 더 나아가 어떻게 진행해야할지 모르겠다. ...자바 프레임과 버튼 동작
내가 원하는 작업은 간단하다. 내 프로그램을 실행할 때 작은 창 (프레임?)에 레이블 "user name"과 그 옆에 텍스트 필드가 나타나기를 원합니다. 아래에 다른 레이블 "password"와 그 옆에 암호 필드가 있어야합니다. 그 아래에서 버튼을 누르면 "제출"버튼을 누르면이 창/프레임을 닫고 새로운 창/프레임을 열어서 모든 것을 넣을 것입니다. 이것은 내 코드이며, 첫 번째 창을 만듭니다. 버튼을 누를 때 원하는 모양으로 만드는 법을 모르겠습니다. 또한 주요 방법없이 새 프레임에 대한 새 클래스를 만드는 방법을 잘 모르겠습니다. 작동합니까?
도움이되고 도움이되는 지침을 주셔서 감사합니다. (더 좋은 방법이 있거나 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");
}
}
다음은 'JFrame'대신 'JDilog'를 사용하는 간단한 [로그인] (http://stackoverflow.com/a/20286447/2587435)의 예입니다. –