사용자 정의 jpanel 패널 배경
1. 서문
1. GUI의 전체 이름은 그래픽 사용자 인터페이스이며 그래픽 사용자 인터페이스입니다. Java의 GUI는 우리 삶에서 널리 사용되며 매우 일반적입니다. 많은 응용 프로그램 에서이 GUI를 사용하여 QQ 아이콘을 클릭하여 해당 로그인 양식을 팝업하는 것과 같은 프로그램 및 디자인을 사용합니다.
일반적으로 프로그램과 사용자 간의 상호 작용은 해당 프로그램의 실행 인터페이스를 기반으로합니다.
2. JPANEL 패널은 스윙중인 패널 컨테이너 클래스입니다. 이 패널은 중첩을 지원하고, 레이아웃 방법을 설정할 수 있으며, JBUTTON 버튼, JTEXTFIELD 텍스트 상자 등과 같은 다른 컨트롤을 추가하여 프로그램 인터페이스 양식을 설계하고 향상시키는 다른 레이아웃 관리자를 설정합니다.
도면 패널로서 setbackground ()를 지원하기에 충분하지 않습니다. 여기서 우리는 jpanel의 이미지 배경을 설정하기 위해 사용자 정의를 구현합니다.
2. 플랫폼 도구
1. Myeclipse
MyEclipse2014를 사용하여 여기에서 시연하십시오
Java AWT+Swing을 지원하는 다른 플랫폼도 제공됩니다
3. 사진 디스플레이
1. 동일한 형태 하에서 JPANEL의 다른 처리 효과
(1) 먼저 수정되지 않은 양식을 만듭니다. 일반 기본 JPANEL 인터페이스 효과는 다음과 같습니다.
(2) 배경색 효과의 간단한 설정 :
(3) 처리 후 JPANEL에서 양식 효과를 사용자 정의했습니다.
2. 코드 구현
JPANEL 배경 처리를 사용자 정의하면 이미지는 bg.png이며 테스트 클래스와 같은 경로에 있습니다. 이미지를 사용할 때 상대 경로를 사용하십시오.
java.awt.graphics 가져 오기; import javax.swing.imageicon; import javax.swing.jframe; import javax.swing.jpanel; Public Class Guitest {private static jframe jframe; // 개인 JPANEL JPANEL 양식을 선언합니다. // Artboard public Guitest () {// construction method jframe = new jframe (); init (); } private void init () {jframe.settitle ( "test"); jpanel = new JPanel () {// 키 코드는 페인트 @override Protected Void PaId Component (Graphics G) {Super.PaintComponent (g); ImageIcon img = new ImageIcon (guitest.class.getResource ( "bg.png")); / *** bg.png는 자체 이미지로 대체됩니다* 여기에 사용 된 상대 경로, bg.png는 테스트 클래스와 같은 경로에 있습니다. 그러나 절대 경로를 사용하지 않기 위해 상대 경로를 사용하는 것이 좋습니다*/ img.painticon (this, g, 0, 0); }}; jpanel.setopaque (true); jframe.setbounds (200, 200, 500, 400); // 디스플레이 위치 200 픽셀을 왼쪽으로, 상단 200 픽셀을 설정하고 화면 크기는 500*400 jframe.add (jpanel)입니다. // jframe.setVisible (true) 형식에 아르 보드를 추가합니다. // 디스플레이 인터페이스 설정} public static void main (String [] args) {new Guitest (); // 객체를 인스턴스화}} 4. 레이아웃 관리자를 확장하십시오
간단한 로그인 양식은 다음과 같습니다.
사용자 정의 jpanel 배경을 기반으로 구현 된 간단한 로그인 양식, Gridbaglayout 레이아웃 설정, 버튼 텍스트 상자 및 기타 기본 컨트롤 추가.
(1) 코드는 다음과 같습니다.
java.awt.graphics 가져 오기; java.awt.gridbagconstraints import; java.awt.gridbaglayout import; java.awt.insets 가져 오기; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jpasswordfield; import javax.swing.jtextfield; Public Class Guit {// 선언 양식, 패널 및 제어 개인 정적 JFrame JFrame; 개인 Jlabel Jlabel, Jlabel1; 개인 그리드 백 층 그리드 백; 개인 그리드 백의 제약 조건; 개인 Jtextfield Jtfield1; Private JPASSWORDFIELD JPFIELD1; 개인 JBUTTON JBUTTON1, JBUTTON2, JBUTTON3; 개인 JPANEL JPANEL; public guit () {jframe = new jframe (); jlabel = new Jlabel (); jlabel1 = new Jlabel (); jtfield1 = 새로운 jtextfield (); jpfield1 = 새로운 jpasswordfield (); Gridbag = New Gridbaglayout (); JBUTTON1 = NEW JBUTTON (); JBUTTON2 = NEW JBUTTON (); JBUTTON3 = NEW JBUTTON (); init (); } / ** * init () 인터페이스를 초기화하고 표시합니다 * / private void init () {jframe.settitle ( "로그인"); / *** JPANEL 배경 설정*/ jpanel = new JPanel () {@override Protected Void PaintComponent (Graphics G) {Super.PaintComponent (g); ImageIcon img = new ImageIcon (Guitest.class.getResource ( "ddmbg.jpg")); img.painticon (this, g, 0, 0); }}; // jlabel, jbutton jlabel.settext의 텍스트 초기화 ( "username :"); jlabel1.settext ( "비밀번호 :"); jbutton1.settext ( "로그인"); jbutton2.settext ( "종료"); JBUTTON3.SETTEXT ( "레지스터"); // 디스플레이 위치 및 화면 크기 설정 500*400 jframe.setBounds (450, 240, 400, 240); // jpanel은 gridbaglayout 레이아웃 관리자 jpanel.setopaque (false)를 사용합니다. JPANEL.SETLAYOUT (GRIDBAG); // 사용자 이름 레이블을 초기화하고 Artboard 제약 조건에 컨트롤을 추가합니다. = GetGridbagConstraints (0,0,1,1,0,0, GridbagConstraints.Center, Gridbagconstraints.NEN, NEW Insets (10,0,10,0), 0,0); gridbag.setconstraints (jlabel, 제약 조건); jpanel.add (jlabel); // 사용자 이름 텍스트 상자를 초기화하고 Artboard 제약 조건에 구성 요소를 추가합니다. = GetGridbagConstraints (1,0,1,1,0,0, GridbagConstraints.Center, Gridbagconstraints.NEN, New Insets (10,0,10,0), 100,0); gridbag.setconstraints (jtfield1, 제약 조건); jpanel.add (jtfield1); // 비밀번호 레이블 제약 조건을 초기화합니다. getGridbagconstraints (0,1,1,1,0,0, Gridbagconstraints.Center, Gridbagconstraints.NEN, 새로운 삽입 (10,0,10,0), 0,0); gridbag.setconstraints (jlabel1, 제약 조건); jpanel.add (jlabel1); // 비밀번호 텍스트 상자 제약 조건을 초기화 = GetGridbagconstraints (1,1,1,1,0,0, Gridbagconstraints.Center, Gridbagconstraints.NONE, 새 Insets (10,0,10,0), 100,0); gridbag.setconstraints (jpfield1, 제약 조건); jpanel.add (jpfield1); // 등록 버튼을 초기화하고 Artboard 제약 조건에 컨트롤을 추가 = GetGridbagconstraints (0,2,1,1,0,0, Gridbagconstraints.Center, Gridbagconstraints.NEN, New Insets (10,0,10,0), 0,0); gridbag.setConstraints (JBUTTON3, 제약 조건); jpanel.add (jbutton3); // 로그인 버튼 제한 조건을 초기화 = GetGridbagConstraints (1,2,1,1,0,0, Gridbagconstraints.Center, Gridbagconstraints.NONE, 새 Insets (10,0,10,0), 0,0); gridbag.setconstraints (jbutton1, 제약 조건); jpanel.add (jbutton1); // 종료 버튼 제약 조건을 초기화합니다. GetGridbagconstraints (2,2,1,1,0,0, Gridbagconstraints.Center, Gridbagconstraints.NEN, 새 삽입 (10,0,10,0), 0,0); gridbag.setconstraints (jbutton2, 제약 조건); jpanel.add (jbutton2); // jframe.add (jpanel)를 형성하기 위해 Artboard를 추가합니다. // 양식 초기화가 완료되었습니다} 개인 정적 그리드 백 커너스 getGridbagconstraints (int gridx, int gridy, int gridwidth, int gridheight, double weightx, int mill, int fill, int ipadx, int ipady) {return new gridbagconstraints (gridx, gridy, gridheid, gridheight, gridheight, gridheight, gridhe) 앵커, 채우기, 삽입, iPadx, iPady); } public static void main (String [] args) {new Guit (); jframe.setvisible (true); }}여기서 ddmbg는 이미지 이름입니다
(2) 효과는 그림에 나와 있습니다.
레이아웃은 기초이며 GUI 디자인에서도 매우 중요합니다.
세 가지 주요 레이아웃 및 기타 레이아웃 관리자를 사용하고 마스터하려면 직접 연습해야합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.