지금 swing써서 프레임 하나 만들어야 되는데 밑에 저장이랑 취소 단추만 넣으면 이렇게 깨져버리는데 어쩌면 좋을까요??
혹시 몰라서 코드도 같이 올립니다.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestUI_Fix extends JFrame {
//메뉴바를 위한 변수
JMenu menu;
JMenuBar menuBar;
//Panel, button 및 JtextArea
JPanel panel;
JTextArea testArea;
JButton a,b;
/*****************************************************************************
* 생성자
****************************************************************************/
public TestUI_Fix(){
setLayout(null); //Layout을 NULL로 설정 (컴포넌트의 위치를 사용자가 설정해주어야 함)
CreateMenu(); //메뉴바를 추가한다.
CreatePanel();
setTitle("TestUI"); //Frame의 타이틀 이름 주기
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Frame의 X를 누를경우 종료
setSize(400, 500); //Frame의 크기 설정
// this.setResizable(false);
setVisible(true); //생성한 Frame을 윈도우에 뿌리기
}
/*****************************************************************************
* 메뉴바를 생성
****************************************************************************/
private void CreateMenu() {
menuBar = new JMenuBar(); //메뉴바를 생성
menu = new JMenu("도서추가"); //'도서추가'라는 메뉴를 생성
menuBar.add(menu); //메뉴바에 '파일'이라는 메뉴를 추가
menuBar.setBorder(BorderFactory.createLineBorder(Color.gray)); //메뉴바 색상 지정
setJMenuBar(menuBar);
}
/*****************************************************************************
* Panel을 생성
****************************************************************************/
private void CreatePanel() {
panel = new JPanel(); //패널을 생성
panel.setLayout(null); //패널의 Layout을 NULL
panel.setBounds(10, 30, 300,220); //패널의 크기 및 위치 지정 (x,y로 부터 넓이(width, 높이(height))
testArea = new JTextArea(); //JTextArea 생성
testArea.setBounds(50, 50, 300, 500); //JTeatArea 크기 및 위치 지정
testArea.setEditable(false); //실행시 JtextArea edit 금지 (글을 쓸 수 없음) true면 가능
GridLayout grid = new GridLayout(5, 2);
panel.setLayout(grid);
panel.add(new JLabel("책 제목"));
panel.add(new JTextField(""));
panel.add(new JLabel("저 자"));
panel.add(new JTextField(""));
panel.add(new JLabel("출판사"));
panel.add(new JTextField(""));
panel.add(new JLabel("장 르"));
panel.add(new JTextField(""));
panel.add(new JLabel("바코드 번호"));
panel.add(new JTextField(""));
a = new JButton("저장"); //버튼 생성
b = new JButton("취소");
a.setBounds(50, 375, 80, 50); //크기 지정
panel.add(a);
b.setBounds(160, 375, 80, 50);
panel.add(b);
panel.add(testArea); //패널에 Textarea add
//패널에 버튼 add
add(panel); //Frame에 Panel add (JFrame을 상속받았기에 this(생략가능)가 JFrame)
}
/*****************************************************************************
* 메인 함수
****************************************************************************/
public static void main(String args[]) {
TestUI_Fix test = new TestUI_Fix();
}
}
구와아아악 - dc App
javaFX로 다시 코딩해오시면 알려드리겠읍니다
넷빈즈 써서 그리세요