swing
레이아웃 관리
수색…
테두리 레이아웃
import static java.awt.BorderLayout.*;
import javax.swing.*;
import java.awt.BorderLayout;
JPanel root = new JPanel(new BorderLayout());
root.add(new JButton("East"), EAST);
root.add(new JButton("West"), WEST);
root.add(new JButton("North"), NORTH);
root.add(new JButton("South"), SOUTH);
root.add(new JButton("Center"), CENTER);
JFrame frame = new JFrame();
frame.setContentPane(root);
frame.pack();
frame.setVisible(true);
테두리 레이아웃은 가장 단순한 레이아웃 관리자 중 하나입니다. 레이아웃 관리자를 사용하는 방법은 JPanel
의 관리자를 설정하는 것입니다.
테두리 레이아웃 슬롯은 다음 규칙을 따릅니다.
- 남북 : 선호하는 높이
- 동쪽 및 서쪽 : 선호되는 너비
- 센터 : 최대 남은 공간
BorderLayout
슬롯에서도 비어있을 수 있습니다. 레이아웃 관리자는 필요한 경우 빈 공간을 자동으로 보정하고 크기를 조정합니다.
이 예제는 다음과 같습니다.
흐름 레이아웃
import javax.swing.*;
import java.awt.FlowLayout;
public class FlowExample {
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.add(new JButton("One"));
panel.add(new JButton("Two"));
panel.add(new JButton("Three"));
panel.add(new JButton("Four"));
panel.add(new JButton("Five"));
JFrame frame = new JFrame();
frame.setContentPane(Panel);
frame.pack();
frame.setVisible(true);
}
});
}
}
플로우 레이아웃은 스윙이 제공해야하는 가장 단순한 레이아웃 매니저입니다. 흐름 레이아웃은 모든 것을 한 줄에 넣으려고합니다. 레이아웃이 너비를 오버플로하면 선을 감쌀 것입니다. 순서는 구성 요소를 패널에 추가하는 순서에 따라 지정됩니다.
스크린 샷 :
그리드 레이아웃
GridLayout
사용하면 구성 요소를 격자 형태로 정렬 할 수 있습니다.
GridLayout
의 생성자에 그리드가 가질 행과 열의 수를 전달합니다. 예를 들어 new GridLayout(3, 2)
은 3 행 2 열로 GridLayout
을 작성합니다.
GridLayout
을 사용하여 컨테이너에 구성 요소를 추가하면 구성 요소가 왼쪽에서 오른쪽으로 한 행씩 추가됩니다.
import javax.swing.*;
import java.awt.GridLayout;
public class Example {
public static void main(String[] args){
SwingUtilities.invokeLater(Example::createAndShowJFrame);
}
private static void createAndShowJFrame(){
JFrame jFrame = new JFrame("Grid Layout Example");
// Create layout and add buttons to show restraints
JPanel jPanel = new JPanel(new GridLayout(2, 2));
jPanel.add(new JButton("x=0, y=0"));
jPanel.add(new JButton("x=1, y=0"));
jPanel.add(new JButton("x=0, y=1"));
jPanel.add(new JButton("x=1, y-1"));
jFrame.setContentPane(jPanel);
jFrame.pack();
jFrame.setLocationRelativeTo(null);
jFrame.setVisible(true);
}
}
이것은 다음과 같이 보이는 JFrame
을 생성하고 보여줍니다 :
보다 자세한 설명이 가능합니다 : GridLayout
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow