JAVA GUI 사용자 정의 JPanel 화판 배경
머리말
1.GUI 는 모두 Graphical User Interface 라 고 하 는데 바로 그래 픽 사용자 인터페이스 이다.JAVA 의 GUI 응용 은 우리 생활 에서 도 흔 하 다.QQ 아이콘 을 누 르 면 로그 인 창 을 꺼 내 는 것 과 같은 GUI 프로 그래 밍 디자인 을 사용 하 는 경우 가 많다.
일반 프로그램 과 사용자 의 상호작용 은 모두 대응 하 는 프로그램의 실행 인 터 페 이 스 를 바탕 으로 한다.
2.JPanel 패 널 은 SWING 의 다음 패 널 용기 류 입 니 다.이 패 널 은 끼 워 넣 기 를 지원 합 니 다.레이아웃 방식 을 설정 할 수 있 습 니 다.서로 다른 레이아웃 관리 자 를 설정 하면 JButton 단추,JTextField 텍스트 상자 등 다른 컨트롤 을 추가 할 수 있 습 니 다.프로그램 인터페이스 창 을 완벽 하 게 설계 합 니 다.
그림 패 널 로 setBackground()를 지원 하 는 배경 색 을 설정 하 는 방법 은 턱 없 이 부족 합 니 다.JPanel 로 사용자 정의 그림 배경 을 설정 합 니 다.
2.플랫폼 도구
1.MyEclipse
my eclipse 2014 사용 을 보 여 줍 니 다.
기타 자바 awt+swing 플랫폼 지원 도 가능 합 니 다.
그림 과 글 전시
1.같은 창 아래 에서 JPanel 을 다 르 게 처리 하 는 효과
(1)먼저 수정 되 지 않 은 창 을 만 듭 니 다.일반적인 기본 jpanel 인터페이스 효 과 는 다음 과 같 습 니 다.
(2)간단 한 배경 색 효과 설정:
(3)사용자 정의 처 리 된 JPanel 창 효과:
2.코드 구현
JPanel 배경 처 리 를 사용자 정의 합 니 다.이 그림 은 bg.PNG 입 니 다.테스트 클래스 와 같은 경로 에서 그림 을 사용 하여 상대 경 로 를 주의 하 십시오.
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GUITest {
private static JFrame jframe; //
private JPanel jpanel; //
public GUITest(){ //
jframe = new JFrame();
init();
}
private void init(){
jframe.setTitle(" ");
jpanel = new JPanel(){// , paint
@Override
protected void paintComponent(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)코드 는 다음 과 같다.
import java.awt.Graphics;
import 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 {
// ,
private static JFrame jframe;
private JLabel jlabel,jlabel1;
private GridBagLayout gridbag;
private GridBagConstraints constraints;
private JTextField jtfield1;
private JPasswordField jpfield1;
private JButton jbutton1,jbutton2,jbutton3;
private JPanel jpanel;
public GUIT(){
jframe = new JFrame();
jlabel = new JLabel();
jlabel1 = new JLabel();
jtfield1 = new JTextField();
jpfield1 = new 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(" :");
jlabel1.setText(" :");
jbutton1.setText(" ");
jbutton2.setText(" ");
jbutton3.setText(" ");
// 500*400
jframe.setBounds(450, 240, 400, 240);
//jpanel GridBagLayout
jpanel.setOpaque(false);
jpanel.setLayout(gridbag);
// label,
constraints = getGridBagConstraints(0,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
gridbag.setConstraints(jlabel, constraints);
jpanel.add(jlabel);
// ,
constraints = getGridBagConstraints(1,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);
gridbag.setConstraints(jtfield1, constraints);
jpanel.add(jtfield1);
// label
constraints = getGridBagConstraints(0,1,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
gridbag.setConstraints(jlabel1, constraints);
jpanel.add(jlabel1);
//
constraints = getGridBagConstraints(1,1,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);
gridbag.setConstraints(jpfield1, constraints);
jpanel.add(jpfield1);
// ,
constraints = getGridBagConstraints(0,2,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
gridbag.setConstraints(jbutton3, constraints);
jpanel.add(jbutton3);
//
constraints = getGridBagConstraints(1,2,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
gridbag.setConstraints(jbutton1, constraints);
jpanel.add(jbutton1);
//
constraints = getGridBagConstraints(2,2,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
gridbag.setConstraints(jbutton2, constraints);
jpanel.add(jbutton2);
//
jframe.add(jpanel);
//
}
private static GridBagConstraints getGridBagConstraints(int gridx,int gridy,int gridwidth,int gridheight,double weightx,double weighty,int anchor,int fill,Insets insets,int ipadx,int ipady){
return new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady);
}
public static void main(String[] args) {
new GUIT();
jframe.setVisible(true);
}
}
그 중 ddmbg 는 그림 이름 입 니 다.(2)실현 효 과 는 그림 과 같다.
GUI 디자인 에서 레이아웃 은 기본 이자 매우 중요 한 지식 이다.
3 대 레이아웃 과 다른 레이아웃 관리 자 를 능숙 하 게 사용 하려 면 스스로 코드 를 두 드 리 는 연습 이 필요 하 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.