수색…


비고

창 닫기시 응용 프로그램 종료

창을 닫을 때 응용 프로그램을 종료하는 것을 잊기 쉽습니다. 다음 줄을 추가하십시오.

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed

빈 창 만들기 (JFrame)

JFrame 만들기

창을 만드는 것은 쉽습니다. JFrame 을 만들어야합니다.

JFrame frame = new JFrame();

창 제목 붙이기

창에 제목을 부여 할 수 있습니다. JFrame 만들 때 문자열을 전달하거나 frame.setTitle(String title) 을 호출하여 문자열을 전달할 수 있습니다.

JFrame frame = new JFrame("Super Awesome Window Title!");
//OR
frame.setTitle("Super Awesome Window Title!");

창 크기 설정

창은 창을 만들 때 최대한 작게 표시됩니다. 크기를 크게하려면 크기를 명시 적으로 설정할 수 있습니다.

frame.setSize(512, 256);

또는 pack() 메서드를 사용하여 내용의 크기에 따라 프레임 크기 자체를 가질 수 있습니다.

frame.pack();

setSize()pack() 메서드는 함께 사용할 수 없으므로 둘 중 하나를 사용하십시오.

Window Close에서해야 할 일

창을 닫으면 응용 프로그램이 종료 되지 않습니다 . 창을 닫은 후에 JFrameJFrame 응용 프로그램을 종료 할 수 있습니다.

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

또는 창을 닫을 때 다른 작업을 수행하도록 창에 지시 할 수 있습니다.

WindowConstants.DISPOSE_ON_CLOSE //Get rid of the window
WindowConstants.EXIT_ON_CLOSE //Quit the application
WindowConstants.DO_NOTHING_ON_CLOSE //Don't even close the window
WindowConstants.HIDE_ON_CLOSE //Hides the window - This is the default action

내용 창 만들기

선택적 단계는 창의 내용 창을 만드는 것입니다. 이것은 필요하지 않지만 원하는 경우 JPanel 만들고 frame.setContentPane(Component component) 호출하십시오.

JPanel pane = new JPanel();
frame.setContentPane(pane);

창 표시

생성 한 후에는 구성 요소를 만든 다음 창을 표시해야합니다. 창을 표시하는 것은 이와 같이 수행됩니다.

frame.setVisible(true);

복사하여 붙여 넣기를 원하는 사람들을 위해 여기에 몇 가지 예제 코드가 있습니다.

JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed

JPanel pane = new JPanel(); //Create the content pane
frame.setContentPane(pane); //Set the content pane

frame.setVisible(true); //Show the window

예제 출력

구성 요소 추가

구성 요소는 버튼이나 텍스트 필드와 같은 사용자 인터페이스 요소의 일종입니다.

구성 요소 만들기

구성 요소 만들기는 창 만들기와 거의 동일합니다. 그러나 JFrame 을 만드는 대신 해당 구성 요소를 만듭니다. 예를 들어, JButton 을 만들려면 다음을 수행하십시오.

JButton button = new JButton();

많은 구성 요소는 생성 될 때 매개 변수를 전달할 수 있습니다. 예를 들어 버튼에 표시 할 텍스트를 지정할 수 있습니다.

JButton button = new JButton("Super Amazing Button!");

단추를 작성하지 않으려는 경우이 페이지의 다른 예에서 공통 구성 요소 목록을 찾을 수 있습니다.

매개 변수는 구성 요소에 따라 달라질 수 있습니다. 그들이 받아 들일 수있는 것을 검사하는 좋은 방법은 IDE 내의 매개 변수를 보는 것입니다 (사용하는 경우). 기본 단축키는 다음과 같습니다.

  • IntelliJ IDEA - Windows / Linux : CTRL + P
  • IntelliJ IDEA - OS X / macOS : CMD + P
  • Eclipse : CTRL + SHIFT + Space
  • NetBeans : CTRL + P

IntelliJ IDEA에서 메소드 매개 변수 정보보기의 예

구성 요소 표시

구성 요소를 만든 후에는 일반적으로 해당 매개 변수를 설정합니다. 이후에는 JFrame 이나 컨텐츠 창을 만든 경우와 같이 어딘가에 배치해야합니다.

frame.add(button); //Add to your JFrame
//OR
pane.add(button); //Add to your content pane
//OR
myComponent.add(button); //Add to whatever

다음은 창 만들기, 내용 창 설정 및 단추 추가에 대한 예제입니다.

JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed

JPanel pane = new JPanel(); //Create the content pane
frame.setContentPane(pane); //Set the content pane

JButton button = new JButton("Super Amazing Button!"); //Create the button
pane.add(button); //Add the button to the content pane

frame.setVisible(true); //Show the window

예제 출력

구성 요소에 대한 매개 변수 설정

구성 요소에는 다양한 매개 변수가 설정 될 수 있습니다. 그들은 구성 요소에 대한 구성 요소에 따라 다릅니다, 그래서 좋은 방법은 무엇 매개 변수 구성 요소에 설정할 수있는 것은 입력을 시작하는 것입니다 볼 수 componentName.set (당신이 IDE를 사용하는 경우) 방법을 제안하고 IDE의 자동 완성을 할 수 있습니다. 많은 IDE의 기본 바로 가기가 자동으로 표시되지 않으면 CTRL + Space 입니다.

IntelliJ IDEA에서 자동 완성

모든 구성 요소간에 공유되는 공통 매개 변수

기술 방법
컴퍼넌트의 최소 사이즈를 설정합니다 (레이아웃 매니저가 minimumSize property를 지정하는 경우 만). setMinimumSize(Dimension minimumSize)
컴퍼넌트의 최대 사이즈를 설정합니다 (레이아웃 매니저가 maximumSize property를 나타내는 경우만). setMaximumSize(Dimension maximumSize)
컴퍼넌트의 예정 사이즈를 설정합니다 (레이아웃 매니저가 preferredSize property를 사용하는 경우 만). setPreferredSize(Dimension preferredSize)
구성 요소를 표시하거나 숨 깁니다. setVisible(boolean aFlag)
구성 요소가 사용자 입력에 응답해야하는지 여부를 설정합니다. setEnabled(boolean enabled)
텍스트의 글꼴을 설정합니다. setFont(Font font)
툴 힌트의 텍스트를 설정합니다. setToolTipText(String text)
구성 요소의 배경색을 설정합니다. setBackground(Color bg)
구성 요소의 전경색 (글꼴 색)을 설정합니다. setForeground(Color bg)

다른 구성 요소의 공통 매개 변수

공통 구성 요소 기술 방법
JLabel , JButton , JCheckBox , JRadioButton , JToggleButton , JMenu , JMenuItem , JTextArea , JTextField 표시된 텍스트를 설정합니다. setText(String text)
JProgressBar , JScrollBar , JSlider , JSpinner Set는 구성 요소의 최소값과 최대 값 사이의 숫자 값입니다. setValue(int n)
JProgressBar , JScrollBar , JSlider , JSpinner Set는 value 속성이 될 수있는 가능한 가장 작은 값입니다. setMinimum(int n)
JProgressBar , JScrollBar , JSlider , JSpinner Set는 value 속성이 가질 수있는 가능한 최대 값입니다. setMaxmimum(int n)
JCheckBox , JToggleBox 값이 true 또는 false인지 여부를 설정합니다 (예 : 체크 상자를 선택해야합니까?). setSelected(boolean b)

공통 구성 요소

기술 수업
단추 JButton
체크 박스 JCheckBox
드롭 다운 메뉴 / 콤보 상자 JComboBox
상표 JLabel
명부 JList
메뉴 막대 JMenuBar
메뉴 막대의 메뉴 JMenu
메뉴 항목 JMenuItem
패널 JPanel
진행 표시 줄 JProgressBar
라디오 버튼 JRadioButton
스크롤 바 JScrollBar
슬라이더 JSlider
회 전자 / 번호 선택 도구 JSpinner
JTable
나무 JTree
텍스트 영역 / 여러 줄 텍스트 필드 JTextArea
텍스트 필드 JTextField
툴바 JToolBar

대화 형 사용자 인터페이스 만들기

버튼이 있으면 모두 좋고 좋지만, 클릭하지 않으면 무슨 일입니까? ActionListener 는, 버튼이나 다른 컴퍼넌트에, 발동시에 무엇인가를 실행하기 위해서 (때문에) 사용합니다.

ActionListener 의 추가는 그 자체로 행해집니다.

buttonA.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        //Code goes here...
        System.out.println("You clicked the button!");
    }
});

또는 Java 8 이상을 사용하는 경우 ...

buttonA.addActionListener(e -> {
    //Code
    System.out.println("You clicked the button!");
});

예 (Java 8 이상)

JFrame frame = new JFrame("Super Awesome Window Title!"); //Create the JFrame and give it a title
frame.setSize(512, 256); //512 x 256px size
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //Quit the application when the JFrame is closed

JPanel pane = new JPanel(); //Create a pane to house all content
frame.setContentPane(pane);

JButton button = new JButton("Click me - I know you want to.");
button.addActionListener(e -> {
    //Code goes here
    System.out.println("You clicked me! Ouch.");
});
pane.add(buttonA);

frame.setVisible(true); //Show the window

구성 요소 레이아웃 구성

구성 요소를 하나씩 추가하면 구성 요소가 모두 어딘가에 있기 때문에 UI를 사용하기가 어려워집니다. 구성 요소는 위에서 아래로 정렬되며 각 구성 요소는 별도의 "행"으로 정렬됩니다.

이 문제를 해결하고 개발자에게 구성 요소를 쉽게 레이아웃 할 수있는 기능을 제공하려면 Swing에 LayoutManager 가 있어야합니다.

이러한 LayoutManager는 레이아웃 관리자 소개와 별도의 레이아웃 관리자 항목에서 더 광범위하게 다룹니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow