java记事本制作的疑问

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:33:03
setJMenuBar(menuBar);
/*
JTextArea textArea=new JTextArea();
textArea.setFont(new Font("宋体",Font.PLAIN,16));
textArea.setLineWrap(true);//文字到了水平边界会自动换行
JScrollPane pane1=new JScrollPane(
textArea,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
);
*/
Container contentPane=getContentPane();
//contentPane.add(pane1,BorderLayout.CENTER);
---------------------------------------------
看书上的代码,上面是其中一段,作用是作出文字编辑区,添加至JFrame的ContentPane中。。。注释掉这段,一切正常,但去掉则会有以下提示:
Exception in thread "main" java.lang.IllegalArgumentException: invalid horizontalScrollBarPolicy
at javax.swing.JScrollPane.setHorizontalScrollBarPolicy(JScrollPane.java:537)
at javax.swing.JScrollPane.<init>(JScrollPane.java:282)
at MAIN.JNotePadUI.setUpUIComponent(JNotePadUI.java:114)
at MAIN.JNot

ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
->
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER

contentPane
你没有给它布局

BorderLayout borderLayout1 = new BorderLayout();
contentPane.setLayout(borderLayout1)

contentPane.add(pane1,BorderLayout.CENTER);

这样应该没问题了

看错了,以为你说的是
//contentPane.add(pane1,BorderLayout.CENTER);

使用下面的方法看一下,我这里是好用的
pane1.getViewport().add(textArea, null);

JPanel contentPane=(JPanel)getContentPane();
contentPane.add(leftPanel,BorderLayout.CENTER);