<div>package Project;</div> <div>import javax.swing.*;<br>import javax.swing.text.MaskFormatter;</div> <div>import Project.admin_Login.EventHandler;</div> <div>import java.awt.*;<br>import java.awt.event.ActionEvent;<br>import java.awt.event.ActionListener;<br>import java.sql.Connection;<br>import java.sql.DriverManager;<br>import java.sql.ResultSet;<br>import java.sql.SQLException;<br>import java.sql.Statement;<br>import java.text.ParseException;</div> <div>public class register {</div> <div> JFrame f = new JFrame();<br> JLabel headLabel, nameLabel, idLabel, pwLabel1, pwLabel2, postLabel1, postLabel2, addressLabel, telLabel1, telLabel2, handLabel1, handLabel2, juminLabel1, juminLabel2;<br> JTextField nameField, idField, postField1, postField2, addressField, telField1, telField2, handField1, handField2, juminField1, juminField2; <br> TextField pwField1, pwField2;<br> JButton checkButton, searchButton, joinButton, cancelButton;<br> String []company ={"SKT","KTF","LG"};<br> JComboBox brandComboBox;<br> String []number ={"010","011","016","017","018","019"};<br> JComboBox numberComboBox;<br> JPanel topPanel, centerPanel, clPanel, crPanel, Panel, namePanel, pwPanel1, pwPanel2, addressPanel,<br> idPanel, postPanel, telPanel, handPanel, juminPanel, checkPanel;<br> JComboBox localComboBox;<br> String []local ={"02","031", "032", "033", "041", "042", "043", "044", "051", "052", "053", "054", "055", "061", "062", "063", "064"};<br> MaskFormatter fourmatter, sevenmatter, sixmatter = null;<br> JFormattedTextField jumin, jumin2, tel, tel2, hand, hand2;<br> <br> <br> register(String title){<br> <br> try {<br> fourmatter = new MaskFormatter("####");<br> } catch (ParseException e) {<br> e.printStackTrace();<br> }<br> try{<br> sixmatter = new MaskFormatter("######");<br> }catch (ParseException e) {<br> e.printStackTrace();<br> }<br> try{<br> sevenmatter = new MaskFormatter("#######");<br> }catch (ParseException e) {<br> e.printStackTrace();<br> }<br> <br> tel = new JFormattedTextField(fourmatter);<br> tel2 = new JFormattedTextField(fourmatter);<br> jumin = new JFormattedTextField(sixmatter);<br> jumin2 = new JFormattedTextField(sevenmatter);<br> hand = new JFormattedTextField(fourmatter);<br> hand2 = new JFormattedTextField(fourmatter);<br> <br> headLabel = new JLabel("회원가입");<br> nameLabel = new JLabel("이름 : ", JLabel.RIGHT);<br> idLabel = new JLabel("아이디 : ", JLabel.RIGHT);<br> pwLabel1 = new JLabel("패스워드 : ", JLabel.RIGHT);<br> pwLabel2 = new JLabel("패스워드 확인: ",JLabel.RIGHT);<br> juminLabel1 = new JLabel("주민번호 : ", JLabel.RIGHT);<br> juminLabel2 = new JLabel("-");<br> postLabel1 = new JLabel("우편번호 : ", JLabel.RIGHT);<br> postLabel2 = new JLabel("-");<br> addressLabel = new JLabel("주소 : ", JLabel.RIGHT);<br> telLabel1 = new JLabel("전화번호 : ", JLabel.RIGHT);<br> telLabel2 = new JLabel("-");<br> handLabel1 = new JLabel("핸드폰 : ", JLabel.RIGHT);<br> handLabel2 = new JLabel(" - ");<br> nameField = new JTextField(10);<br> idField = new JTextField(10);<br> postField1 = new JTextField(3);<br> postField2 = new JTextField(3);<br> addressField = new JTextField(23);<br> <br> <br> <br> <br> <br> pwField1 = new TextField(10);<br> pwField1.setEchoChar('*');<br> pwField2 = new TextField(10);<br> pwField2.setEchoChar('*');<br> <br> <br> <br> checkButton = new JButton("중복검사");<br> searchButton = new JButton("주소검색");<br> joinButton = new JButton("가입");<br> cancelButton = new JButton("취소");<br> <br> idField.addActionListener(new EventHandler1());<br> pwField1.addActionListener(new EventHandler1());<br> pwField2.addActionListener(new EventHandler1());<br> joinButton.addActionListener(new EventHandler1());<br> checkButton.addActionListener(new EventHandler1());<br> <br> <br> brandComboBox = new JComboBox(company);<br> numberComboBox = new JComboBox(number);<br> localComboBox = new JComboBox(local);<br> <br> topPanel = new JPanel(new GridLayout(1,1,5,5));<br> centerPanel = new JPanel(new GridLayout(1,2));<br> crPanel = new JPanel(new GridLayout(9,1));<br> clPanel = new JPanel(new GridLayout(9,1));<br> namePanel = new JPanel(new FlowLayout());<br> namePanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> pwPanel1 = new JPanel(new FlowLayout());<br> pwPanel1.setLayout(new FlowLayout(FlowLayout.LEFT));<br> pwPanel2 = new JPanel(new FlowLayout());<br> pwPanel2.setLayout(new FlowLayout(FlowLayout.LEFT));<br> idPanel = new JPanel(new FlowLayout()); <br> idPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> postPanel = new JPanel(new FlowLayout()); <br> postPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> addressPanel = new JPanel(new FlowLayout());<br> addressPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> telPanel = new JPanel(new FlowLayout()); <br> telPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> handPanel = new JPanel(new FlowLayout()); <br> handPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> juminPanel = new JPanel(new FlowLayout()); <br> juminPanel.setLayout(new FlowLayout(FlowLayout.LEFT));<br> checkPanel = new JPanel(new FlowLayout());<br> <br> Panel = new JPanel(new BorderLayout(0,20));<br> <br> topPanel.add(headLabel);<br> idPanel.add(idField);<br> idPanel.add(checkButton);<br> postPanel.add(postField1);<br> postPanel.add(postLabel2);<br> postPanel.add(postField2);<br> postPanel.add(searchButton);<br> addressPanel.add(addressField);<br> telPanel.add(localComboBox);<br> telPanel.add(tel);<br> telPanel.add(telLabel2);<br> telPanel.add(tel2);<br> handPanel.add(brandComboBox);<br> handPanel.add(numberComboBox);<br> handPanel.add(hand);<br> handPanel.add(handLabel2);<br> handPanel.add(hand2);<br> juminPanel.add(jumin);<br> juminPanel.add(juminLabel2);<br> juminPanel.add(jumin2);<br> pwPanel1.add(pwField1);<br> pwPanel2.add(pwField2);<br> namePanel.add(nameField);<br> crPanel.add(namePanel);<br> crPanel.add(juminPanel);<br> crPanel.add(idPanel);<br> crPanel.add(pwPanel1);<br> crPanel.add(pwPanel2);<br> crPanel.add(postPanel);<br> crPanel.add(addressPanel);<br> crPanel.add(telPanel);<br> crPanel.add(handPanel);<br> clPanel.add(nameLabel);<br> clPanel.add(juminLabel1);<br> clPanel.add(idLabel);<br> clPanel.add(pwLabel1);<br> clPanel.add(pwLabel2);<br> clPanel.add(postLabel1);<br> clPanel.add(addressLabel);<br> clPanel.add(telLabel1);<br> clPanel.add(handLabel1);<br> <br> centerPanel.add(crPanel);<br> checkPanel.add(joinButton);<br> checkPanel.add(cancelButton);<br> Panel.add(checkPanel, "South");<br> Panel.add(centerPanel, "Center");<br> Panel.add(topPanel, "North");<br> Panel.add(clPanel, "West");<br> f.add(Panel);<br> <br> f.setResizable(false);<br> f.setSize(350, 420);<br> f.setVisible(true);<br> }<br> public static void main(String[] args) {<br> // TODO Auto-generated method stub<br> register r = new register("회원가입");<br> }<br> class EventHandler1 implements ActionListener{</div> <div> public void actionPerformed(ActionEvent e) {<br> if(e.getActionCommand().equals("가입")){<br> String id = idField.getText();<br> String pw = pwField1.getText();<br> String name = nameField.getText();<br> String post = postField1.getText() + postField2.getText();<br> String address = addressField.getText();<br> String tel3 = localComboBox.getSelectedItem()+tel.getText() +tel2.getText();<br> String hand3 = (String)brandComboBox.getSelectedItem()+numberComboBox.getSelectedItem()+ hand.getText() + hand2.getText();<br> String jumin3 = jumin.getText()+ jumin2.getText(); <br> <br> Connection conn= null;<br> Statement stmt= null;<br> ResultSet rs= null;<br> String query= null;<br> int result; <br> try{<br> query= "insert into user values ('" +name +"', '"+jumin3+"', '"+id+"', '"+pw+"', '"+post+"', '"+address+"', '"+tel3+"', '"+hand3+"')";<br> <br> //1. Loading driver<br> Class.forName("com.mysql.jdbc.Driver");<br> //2. Connecting to a DB<br> conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/project",<br> "root", "12345678");<br> //3. Creating statement object<br> stmt= conn.createStatement();<br> //B. For printing table data<br> result= stmt.executeUpdate(query);<br> <br>// if(rs.next()){<br>// System.out.println("중복된 아이디가 있습니다.");<br>// }else{<br>// System.out.println("이 아이디는 사용 가능합니다!");<br>// }<br> }catch(ClassNotFoundException e1){<br> System.out.println("Couldn't load database driver: "+ e1.getMessage());;<br> }catch(SQLException e2){<br> System.out.println("SQLException caught: "+ e2.getMessage());<br> }finally{<br> //6. Closing db connection<br> try{<br> if(conn!= null)<br> conn.close();<br> }catch(SQLException ignored){}<br> }<br> }else if(e.getActionCommand().equals("중복검사")){<br> Connection conn= null;<br> Statement stmt= null;<br> ResultSet rs= null;<br> String query= null;<br> String id = idField.getText();<br> try{<br> query= "select * from user where id='" + id + "'";<br> //1. Loading driver<br> Class.forName("com.mysql.jdbc.Driver");<br> //2. Connecting to a DB<br> conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/project",<br> "root", "12345678");<br> //3. Creating statement object<br> stmt= conn.createStatement();<br> //B. For printing table data<br> rs= stmt.executeQuery(query);<br> <br> if(rs.next()){<br> System.out.println("아이디가 중복됩니다. 다른 아이디를 사용해 주세요"); <br> }else{<br> System.out.println("사용 가능한 아이디 입니다.");<br> <br> }<br> }catch(ClassNotFoundException e1){<br> System.out.println("Couldn't load database driver: "+ e1.getMessage());;<br> }catch(SQLException e2){<br> System.out.println("SQLException caught: "+ e2.getMessage());<br> }finally{<br> //6. Closing db connection<br> try{<br> if(conn!= null)<br> conn.close();<br> }catch(SQLException ignored){}<br> }<br> }<br> }<br> }<br>}</div> <div style="text-align:left;"><img width="800" height="640" class="chimg_photo" alt="1244.jpg" src="http://thimg.todayhumor.co.kr/upfile/201410/1413901954kIZWBpfYDcfJDn4LERiRZcqzpdEDc9.jpg"></div> <div> </div> <div> </div> <div>엊그제 질문한 패널에 공간이 많이 남는 다고 말씀드린 문제는 위치를 CENTER 에서 WEST로 잡는걸로 해결하였습니다. 감사합니다.</div> <div> </div> <div>그런데 주민 등록 번호와 전화번호 핸드폰 번호에 각각 6자 7자 4자씩의 제한과 문자 입력 방지를 위해 </div> <div> </div> <div>MaskForMatter와 JFormattedTextField 를 이용하여 해결하였는데요 패널을 FlowLayout 으로 잡아놔서인지 JFormattedTextField 의 입력 공간이 보기와 같이 너무 작아져서요... 한두자만 보이고 글자가 안보이는 문제가 생겼습니다 ㅜㅜ.</div> <div>그래서 BorderLayout 으로 잡아봣으나 주민번호 : [텍스트 필드] - [텍스트 필드] 에서 주민번호: [텍스트필드] 로 변하며 앞쪽의 텍스트 필드와 -(바)가 사라지는 문제가 생겼습니다.</div> <div> </div> <div> </div> <div>혹시 어떤식으로 해결해야 하는지 방향만이라도 잡아 주실 수 있나요?</div> <div> </div><br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.