그래 픽 인터페이스 개발

목표: 1. 자바 가 제공 하 는 구성 요소 와 레이아웃 API 클래스 를 파악 합 니 다. 2. API 문서 조회 파악 1. 자바 의 그래 픽 인터페이스 클래스 소개 1. awt (패키지 이름: java. awt)   jdk 1.4 이전에 출시 된 그래 픽 인터페이스 클래스  Frame   2. swing (패키지 이름: javax. swing) [경량급 구성 요소]  jdk 1.4 때 내 놓 은 그래 픽 인터페이스 클래스  모든 그래 픽 인터페이스 류 의 첫 번 째 자 모 는 대문자 J 로 시작한다.  JFrmae   크로스 플랫폼
2. 자주 사용 하 는 구성 요소 클래스 (javax. swing) 용기 구성 요소  JFrmae   창 용기 (테두리)  JPanel   패 널 용기 (흐름 식)  요소 구성 요소  JLabel    라벨  JTextField   텍스트 입력 상자  JPasswordField   암호 입력 상자  JComboBox   드 롭 다운 프레임  JCheckBox   콤 보 상자  JButton    버튼   javax.swing.JFrame
3. 자주 사용 하 는 레이아웃 클래스 (java. awt) BorderLayout    테두리 레이아웃 FlowLayout    흐름 식 레이아웃 GridLayout    격자 레이아웃
4. 로그 인 창 구현 1. 클래스 를 정의 합 니 다. 클래스 에서 주 함수 와 인 터 페 이 스 를 초기 화 하 는 initGUI () 방법 을 정의 합 니 다. 2. 주 함수 에서 클래스 의 대상 을 예화 한 다음 initGUI 방법 을 호출 합 니 다. 3. initGUI 방법 에서 JFrame 클래스 의 대상 을 예화 하고 JFrame 클래스 의 속성 값 을 설정 합 니 다. 4. 용기 배치 방법 설정 5. 용기 와 요소 구성 요 소 를 예화 하여 창 에 추가 합 니 다. 6. initGUI 방법의 마지막 줄 에 창 에 보 이 는 방법 을 추가 합 니 다.
5. 연습 1. QQ 로그 인 인터페이스
package lxf0630;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;


//    QQLogin 
public class QQLogin {
	
	//           
	
	public static void main(String[] args) {
		QQLogin qq = new QQLogin();
		qq.initGUI();
	}

	
	//             
	 
	public void initGUI(){
		//1.     JFrame    
		JFrame jf = new JFrame();
		//2.  jf      
		jf.setTitle("QQ    ");
		jf.setSize(new Dimension(380,295));
		jf.setDefaultCloseOperation(3);
		jf.setLocationRelativeTo(null);//            
		jf.setResizable(false);//           
		
		//              ,               
		//jf.setLayout(new BorderLayout());
		
		/******************    *********************/
		//         
		ImageIcon backgroundImage = new ImageIcon("Images/dxy.jpg");
		//         ,         
		JLabel backgroundJla = new JLabel(backgroundImage);
		//               
		backgroundJla.setBounds(0, 0, backgroundImage.getIconWidth(), backgroundImage.getIconHeight());
		
		//      LayeredPanel      (     )
		jf.getLayeredPane().add(backgroundJla,new Integer(Integer.MIN_VALUE));
		
		//          
		JPanel contentPanel = (JPanel)jf.getContentPane();
		//          
		contentPanel.setOpaque(false);
		
		/************************************************/
		
		
		/****************     *********************/
		JPanel northPanel = new JPanel();
		northPanel.setOpaque(false);//       
		northPanel.setPreferredSize(new Dimension(0,120));
		//              ,JPanel            
		northPanel.setLayout(new BorderLayout());
		
		//     JLabel   ,          
		JLabel jla = new JLabel("");
		//jla.setFont(new Font("  ",Font.BOLD,36));
		
		// jla     northPanel   
		northPanel.add(jla,BorderLayout.WEST);
		// northPanel   jf     
		jf.add(northPanel,BorderLayout.NORTH);
		
		/**********************************************/
		
		/****************     *********************/
		JPanel westPanel = new JPanel();
		westPanel.setOpaque(false);//       
		//              ,JPanel            
		westPanel.setLayout(new FlowLayout());
		
		//       (ImageIcon)  
		ImageIcon image = new ImageIcon("Images/QQ  .jpg");
		//     JLabel   ,          
		JLabel jlaImage = new JLabel(image);
		
		// jlaImage     westPanel   
		westPanel.add(jlaImage);
		// westPanel   jf     
		jf.add(westPanel,BorderLayout.WEST);
		
		/**********************************************/
		

		/****************     *********************/
		JPanel centerPanel = new JPanel();
		centerPanel.setOpaque(false);//       
		//              ,       ,JPanel            
		centerPanel.setLayout(new FlowLayout(FlowLayout.LEFT,8,5));
		
		//         
		JComboBox jco = new JComboBox();
		//       
		jco.setPreferredSize(new Dimension(190,25));
		//  jco      
	    jco.setEditable(true);
		jco.addItem("185002513");
		jco.addItem("24589663");
		jco.addItem("921546465");
		jco.setEditable(true);
		// jco     centerPanel   
		centerPanel.add(jco);
		//String st2=jco.getToolTipText();
		JLabel jbuReg = new JLabel("    ");
		centerPanel.add(jbuReg);
		//JTextField jt=new JTextField(st2);
		 String s=(String)jco.getSelectedItem();
		 System.out.println(s);
		JPasswordField jpa = new JPasswordField();		
		//       
		jpa.setPreferredSize(new Dimension(190,25));		
		// jpa     centerPanel   
		centerPanel.add(jpa);
	
		
		JLabel jbuPwd = new JLabel("    ");
		centerPanel.add(jbuPwd);
		
		JCheckBox jch1 = new JCheckBox("    ");
		jch1.setOpaque(false);
		JCheckBox jch2 = new JCheckBox("    ");
		jch2.setOpaque(false);
		centerPanel.add(jch1);
		centerPanel.add(jch2);
		
		// centerPanel   jf     
		jf.add(centerPanel,BorderLayout.CENTER);
		
		/**********************************************/
		

		/****************     *********************/
		JPanel southPanel = new JPanel();
		southPanel.setOpaque(false);//       
		//              ,JPanel            
		southPanel.setLayout(new FlowLayout());
		
	
		//     LoginLestener    
		LoginListener l=new LoginListener(jpa,jco);
		JButton jbuLogin = new JButton("            ");
		jbuLogin.setPreferredSize(new Dimension(155,30));
		//jbuLogin.setFont(new Font("  ",Font.BOLD,36));
	
		//               ,          
		jbuLogin.addActionListener(l);
		
	
		// jbuLogin     southPanel   
		southPanel.add(jbuLogin);
		// southPanel   jf     
		jf.add(southPanel,BorderLayout.SOUTH);
		
		
		/**********************************************/
		
		//                    
		jf.setVisible(true);
	}	
	
}


  2. 계산기 인터페이스
package lxf0627;



import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;


import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Calculator {

	
	public static void main(String[] args) {
		Calculator cal = new Calculator();
		cal.initUI();
	}

	
	public void initUI() {
		//      JFrame    
		JFrame jf = new JFrame();
		//           
		jf.setSize(228, 323);
		jf.setTitle("   ");
		jf.setLocationRelativeTo(null);
		jf.setResizable(false);
		jf.setDefaultCloseOperation(3);
		// JFrame             。
		
		
		
		/****************       *********************/
		//      JPanel   
		JPanel panelNorth = new JPanel();
		// JPanel          
		JTextField jte = new JTextField();
		jte.setText("0");
		jte.setHorizontalAlignment(JTextField.RIGHT);
		//jte.setEditable(false);
		jte.setFont(new Font("Arial",Font.BOLD,33));
		jte.setPreferredSize(new Dimension(190, 50));
		panelNorth.add(jte);
		jf.add(panelNorth, BorderLayout.NORTH);
		
		
		

		/****************       *********************/
		//      JPanel   
		JPanel panelCenter = new JPanel();
		
		//      
		//panelCenter.setLayout(new FlowLayout(FlowLayout.RIGHT,6,6));
		
		// JPanel          

		String[] array = { "images/mc.jpg", "images/mr.jpg", "images/ms.jpg",
				"images/m+.jpg", "images/_.jpg", "images/ce.jpg",
				"images/c.jpg", "images/+-.jpg", "images/7.jpg",
				"images/8.jpg", "images/9.jpg", "images/a.jpg",
				"images/4.jpg", "images/5.jpg", "images/6.jpg",
				"images/  .jpg", "images/01.jpg", "images/22.jpg",
				"images/3.jpg", "images/-.jpg", "images/0.jpg",
				"images/   .jpg", "images/+.jpg" };
		for (int i = 0; i < array.length; i++) {
			JButton btn = new JButton(new ImageIcon(array[i]));
			if (array[i].equals("images/0.jpg")) {
				btn.setPreferredSize(new Dimension(73, 27));
			} else {
				btn.setPreferredSize(new Dimension(34, 27));
			}
			//       panelCenter 
			panelCenter.add(btn);
		}
		//  panelCenter   jf 
		jf.add(panelCenter, BorderLayout.CENTER);
		
		
		

		
		//      JPanel   
		JPanel panelEast = new JPanel();
		
		//      
		panelEast.setLayout(new FlowLayout(FlowLayout.LEFT,0,5));
		
		//       
		panelEast.setPreferredSize(new Dimension(48,0));
		

		/****************       *********************/
		// JPanel          

		String[] array2 = { "images/m-.jpg", "images/g.jpg", "images/%1.jpg",
				"images/xs.jpg", "images/=.jpg" };
		for (int i = 0; i < array2.length; i++) {
			JButton btn = new JButton(new ImageIcon(array2[i]));
			if (array2[i].equals("images/=.jpg")) {
				btn.setPreferredSize(new Dimension(34, 59));
			} else {
				btn.setPreferredSize(new Dimension(34, 27));
			}
			//       panelEast 
			panelEast.add(btn);
		}
		//  panelEast   jf 
		jf.add(panelEast, BorderLayout.EAST);
		
		//**************************    *******************************
		//       
	
		ImageIcon img = new ImageIcon("images/d.jpg");//      
		JLabel image1 = new JLabel(img);
		//     Frame    
		jf.getLayeredPane().add(image1, new Integer(Integer.MIN_VALUE));
		//                    
		image1.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
		//  frame               
		Container P4=jf.getContentPane();  
		//    
		((JComponent) P4).setOpaque(false);
		panelNorth.setOpaque(false);
		panelCenter.setOpaque(false);
		panelEast.setOpaque(false);


		/****************        *********************/
		jf.setJMenuBar(createJMenuBar());//           

		jf.setVisible(true);
		}

	    /**
		*         
		* 
		* @return        
		*/

		
		public JMenuBar createJMenuBar() {

			//      JMenuBar   
			JMenuBar jmb = new JMenuBar();

			//    JMenu   
			JMenu menu1 = new JMenu("  (V)");

			//    JMenuItem   
			JMenuItem jmi1 = new JMenuItem("   (T)");
			JMenuItem jmi2 = new JMenuItem("   (S)");
			JMenuItem jmi3 = new JMenuItem("   (P)");
			JMenuItem jmi4 = new JMenuItem("   (W)");
			menu1.add(jmi1);
			menu1.add(jmi2);
			menu1.add(jmi3);
			menu1.add(jmi4);

			JMenu menu2 = new JMenu("  (E)");
			JMenuItem jmi5 = new JMenuItem("  (C)");
			JMenuItem jmi6 = new JMenuItem("  (P)");
			JMenuItem jmi7 = new JMenuItem("    (H)");
			menu2.add(jmi5);
			menu2.add(jmi6);
			menu2.add(jmi7);
		
			JMenu menu3 = new JMenu("  (H)");
			JMenuItem jmi8 = new JMenuItem("    (V)");
			JMenuItem jmi9 = new JMenuItem("     (A)");
			menu3.add(jmi8);
			menu3.add(jmi9);
			
			
			jmb.add(menu1);
			jmb.add(menu2);
			jmb.add(menu3);
	
			return jmb;

			}

}



좋은 웹페이지 즐겨찾기