5 가지 JAVA GUI 레이아웃 관리 방식

6411 단어 JAVAGUI배치
1.스 트림 레이아웃(FlowLayout)
정의:
쉽게 말 하면 스 트림 레이아웃 은 창 크기 에 따라 창 내 구성 요소 의 위 치 를 자동 으로 바 꾸 는 것 입 니 다.예 를 들 어 원래 의 창 크기 는 한 줄 에 10 개의 BUTTON 을 수용 할 수 있 지만 창 을 축소 하면 줄 당 5 개의 BUTTON 만 수용 할 수 있 습 니 다.이때 원래 의 10 개의 BUTTON 중 5 개 는 자동 으로 다음 줄 로 배 열 됩 니 다.
예제:(panel 사용 생략)
Hashset

package     ;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
​
public class Layout { //    
 public static void main(String[] args) {
 Frame frame = new Frame(); //      
 frame.setLayout(new FlowLayout(FlowLayout.LEFT)); //            ,       
​
 Button button1 = new Button("button1"); //       
 Button button2 = new Button("button2");
 Button button3 = new Button("button3");
 Button button4 = new Button("button4");
 Button button5 = new Button("button5");
​
 frame.add(button1); //         
 frame.add(button2);
 frame.add(button3);
 frame.add(button4);
 frame.add(button5);
​
​
 frame.setBounds(200,200,500,500); //          
 frame.setVisible(true); //       
 frame.addWindowListener(new WindowAdapter() { //    :    
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 });
​
 }
}
2.동서남북 중 포석(BorderLayout)
정의:
동서남북 중 포석 은 말 그대로 다.창 구 를 동서 남북 중 네 개의'덩어리'로 나 누 는 것 을 상하 좌우 중 포석 이 라 고도 할 수 있어 이해 하기 쉽다.
예제:(panel 사용 생략)

package     ;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
​
public class BorderLayout { //       
 public static void main(String[] args) {
 Frame frame = new Frame();
 frame.setLayout(new java.awt.BorderLayout());
​
 Button east = new Button("East");
 east.setBackground(new Color(140, 172, 51));
 Button west = new Button("West");
 west.setBackground(new Color(140, 172, 51));
 Button north = new Button("North");
 north.setBackground(new Color(38, 222, 135));
 Button south = new Button("South");
 south.setBackground(new Color(38, 222, 135));
 Button center = new Button("Center");
​
 frame.add(east, java.awt.BorderLayout.EAST);
 frame.add(west, java.awt.BorderLayout.WEST);
 frame.add(north, java.awt.BorderLayout.NORTH);
 frame.add(south, java.awt.BorderLayout.SOUTH);
 frame.add(center, java.awt.BorderLayout.CENTER);
​
 frame.setBounds(200,200,500,500);
 frame.setVisible(true);
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
​
 }
 });
 }
}
3.표 형식 레이아웃
정의:
창 을 여러 개의 표 로 나 누고 구성 요 소 를 추가 합 니 다.
예시:
GUI 가 자주 사용 하 는'로그 인','등록'인터페이스

package     ;
​
import javafx.scene.control.PasswordField;
import javafx.scene.layout.Pane;
import sun.security.util.Password;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.nio.charset.Charset;
​
public class GridLayout {
 public static void main(String[] args) {
// System.out.println("file.encoding=" + System.getProperties().getProperty("file.encoding"));
// System.out.println("   :"+ Charset.defaultCharset().name());
 Frame frame = new Frame("    ");
 frame.setLayout(new java.awt.GridLayout(4,1)); //     
​
 Panel panel1 = new Panel();
 frame.add(panel1);
 Panel panel2 = new Panel();
 frame.add(panel2);
 Panel panel3 = new Panel();
 frame.add(panel3);
 Panel panel4 = new Panel();
 frame.add(panel4);
​
 Label label = new Label("welcome to *** system");
 label.setFont(new Font("  ", Font.PLAIN, 26));
​
 Label label1 = new Label("Account: ");
 TextField textField = new TextField();
 textField.setColumns(20);
​
 Label label2 = new Label("Password: ");
 TextField textField1 = new TextField(); //AWT  passwordField
 textField1.setColumns(20);
 textField1.setEchoChar('*');
​
 Button button = new Button("Login");
​
 panel1.add(label);
 panel2.add(label1);
 panel2.add(textField);
 panel3.add(label2);
 panel3.add(textField1);
 panel4.add(button);
​
 frame.setBounds(200,200,500,250);
 frame.setVisible(true);
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 });
​
 }
}
4.나 는 포석 을 원 하지 않 는 다!!!
frame.setLayout(null)설정 하기;패 널 에 좌 표를 설정 하 는 방식 으로 구 조 를 제어 할 수 있 고 유연성 이 있 습 니 다!

package AWT;
​
import javafx.scene.layout.Pane;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
​
public class panel {
 public static void main(String[] args) {
 Frame frame = new Frame(); //new      
 Panel panel = new Panel(); //new    
 Panel panel1 = new Panel(); //new    
 Panel panel2 = new Panel(); //new    
​
 frame.setLayout(null); //      
​
 frame.setBounds(200,200,500,500); //        
​
 panel.setBounds(20,15,460,50); //       
 panel.setBackground(new Color(253, 228,1)); //      
 panel1.setBounds(20,70,100,415);
 panel1.setBackground(new Color(0, 71, 254));
 panel2.setBounds(130,70,350,415);
 panel2.setBackground(new Color(1,1,1));
​
 frame.add(panel); //        
 frame.add(panel1);
 frame.add(panel2);
​
 frame.setVisible(true);
​
 frame.addWindowListener(new WindowAdapter() {
 @Override
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 }); {
​
 }
​
 }
​
}
5.난 다!!!
화면 을 더욱 아름 답 게 하기 위해 서 는 다양한 레이아웃 의 내장 을 사용 할 수 있 습 니 다!
이상 은 5 가지 JAVA GUI 레이아웃 관리 방식 의 상세 한 내용 입 니 다.JAVA GUI 레이아웃 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기