자바 에서 스윙 의 다섯 가지 흔 한 레이아웃 방식
2.스 트림 레이아웃(FlowLayout)
3.격자 레이아웃(GridLayout)
4.박스 레이아웃(BoxLaYout)
5.빈 레이아웃(null)
그리고 다른 두 가지 레이아웃 도 있 는데 그것 이 바로 GridBagLayout(격자 패키지 레이아웃),CardLayout(카드 레이아웃)이다.
메모:JFrame 과 JDialog 의 기본 레이아웃 은 BorderLayout 이 고,JPanel 과 Applet 의 기본 레이아웃 은 FlowLayout 입 니 다.
경계 레이아웃 예제 코드:
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class BorderLayoutExample extends JFrame{
JButton btn1=new JButton(" ");
JButton btn2=new JButton(" ");
JButton btn3=new JButton(" ");
JButton btn4=new JButton(" ");
JButton btn5=new JButton(" ");
BorderLayoutExample(){
init();
this.setTitle(" ");
this.setResizable(true);
this.setSize(200, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init(){
this.setLayout(new BorderLayout(10,5)); // 0,0; 10, 5
this.add(btn1,BorderLayout.EAST);
this.add(btn2,BorderLayout.SOUTH);
this.add(btn3,BorderLayout.WEST);
this.add(btn4,BorderLayout.NORTH);
this.add(btn5,BorderLayout.CENTER);
}
public static void main(String args[]){
new BorderLayoutExample();
}
}
실행 결과:스 트림 레이아웃 예제 코드:
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class FlowLayoutExample extends JFrame{
JButton btn1=new JButton("one");
JButton btn2=new JButton("two");
JButton btn3=new JButton("three");
JButton btn4=new JButton("four");
JButton btn5=new JButton("five");
FlowLayoutExample(){
init();
this.setTitle(" ");
this.setResizable(true);
this.setSize(200, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init(){
this.setLayout(new FlowLayout(FlowLayout.LEFT,10,5)); // ; 10, 5
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]){
new FlowLayoutExample();
}
}
실행 결과:격자 레이아웃 예제 코드:
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class GridLayoutExample extends JFrame{
JButton btn1=new JButton("one");
JButton btn2=new JButton("two");
JButton btn3=new JButton("three");
JButton btn4=new JButton("four");
JButton btn5=new JButton("five");
GridLayoutExample(){
init();
this.setTitle(" ");
this.setResizable(true);
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init(){
this.setLayout(new GridLayout(2,3,10,5)); // 1 ,n ;2 3 , 10, 5
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]){
new GridLayoutExample();
}
}
실행 결과:상자 레이아웃 예제 코드:
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class BoxLaYoutExample extends JFrame{
JButton btn1=new JButton("one");
JButton btn2=new JButton("two");
JButton btn3=new JButton("three");
JButton btn4=new JButton("four");
JButton btn5=new JButton("five");
BoxLaYoutExample(){
init();
this.setTitle(" ");
this.setResizable(true);
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init(){
this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.X_AXIS));
// Box
//Box box = new Box(BoxLayout.Y_AXIS);box.add(btn...);box.add(creat..);
this.add(btn1);
this.add(btn2);
this.getContentPane().add(Box.createHorizontalStrut(10)); // x ,
//this.getContentPane().add(Box.createVerticalStrut(5)); // y ,
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]){
new BoxLaYoutExample();
}
}
실행 결과:빈 레이아웃 예제 코드:
import javax.swing.JButton;
import javax.swing.JFrame;
public class NullLayoutExample extends JFrame{
JButton btn1=new JButton("one");
JButton btn2=new JButton("two");
JButton btn3=new JButton("three");
JButton btn4=new JButton("four");
JButton btn5=new JButton("five");
NullLayoutExample(){
init();
this.setTitle(" ");
this.setResizable(true);
this.setSize(300, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
void init(){
this.setLayout(null);
btn1.setBounds(10, 0, 100, 50); //x 10,y 0, 100, 50
btn2.setBounds(20, 50, 100, 50);
btn3.setBounds(30, 100, 100, 50);
btn4.setBounds(40, 150, 100, 50);
btn5.setBounds(50, 200, 100, 50);
this.add(btn1);
this.add(btn2);
this.add(btn3);
this.add(btn4);
this.add(btn5);
}
public static void main(String args[]){
new NullLayoutExample();
}
}
실행 결과:이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.