자바 GUI 질문이요 ㅠㅠ
조은
소스는 일단 밑에 첨부할꼐요
실행을 시켰을 때 메모장처럼 커서위치를 메뉴 바로 밑에 갖다놓고 싶은데
뭔가 잘 안되네요 ㅠㅠ 어떻게 고쳐야 할까요?
제가 자바를 공부한지 얼마 안되서 멘붕입니다 ㅠ
import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;
import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JTextField;
class MemoJang extends JFrame implements ActionListener { JTextField jtf; public MemoJang() { Container c = getContentPane(); c.setLayout(new BorderLayout()); JMenuBar bar = new JMenuBar(); JMenu menu1 = new JMenu(파일); JMenu menu2 = new JMenu(편집); JMenu menu3 = new JMenu(서식); JMenu menu4 = new JMenu(보기); JMenu menu5 = new JMenu(도움말); JMenuItem j = new JMenuItem(새로만들기); j.addActionListener(this); menu1.add(j); j = new JMenuItem(열기); j.addActionListener(this); menu1.add(j); j = new JMenuItem(저장); j.addActionListener(this); menu1.add(j); j = new JMenuItem(끝내기); j.addActionListener(this); menu1.add(j); j = new JMenuItem(실행취소); j.addActionListener(this); menu2.add(j); j = new JMenuItem(복사); j.addActionListener(this); menu2.add(j); j = new JMenuItem(붙여넣기); j.addActionListener(this); menu2.add(j); j = new JMenuItem(시간/날짜); j.addActionListener(this); menu2.add(j); j = new JMenuItem(글꼴); j.addActionListener(this); menu3.add(j); j = new JMenuItem(상태표시줄); j.addActionListener(this); menu4.add(j); j = new JMenuItem(메모장정보); j.addActionListener(this); menu5.add(j); bar.add(menu1); bar.add(menu2); bar.add(menu3); bar.add(menu4); bar.add(menu5); setJMenuBar(bar); jtf = new JTextField(); c.add(jtf); setTitle(JMenuTest); setSize(500,400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void actionPerformed(ActionEvent ae) { // jtf.setText(ae.getActionCommand()); }}
public class Memo { public static void main(String[] args) { new MemoJang(); }}
-
아더
그렇군요!! 고맙습니다! 스크롤바는 생각도 못했었는데 ㅠㅠ
-
접시
JTextArea에
JScrollPane도 함께 사용해야 스크롤바가 생겨요. -
시윤
네! API 확인했어요!
-
달빛
JTextField는 한줄입력을 위한 콤포넌트라고 설명되있네요. 메모장처럼 하시려면 멀티라인 입력이 가능한
콤포넌트를 찾아보셔야 겠네요. 윗분 말씀처럼 JTextArea를 사용하시면 되겠네요.. -
세리
제가 잘 몰라서요... ㅠ
-
나라빛
소스가 왜 이래요? 메모장이면 TextArea로 해야죠.