当前位置: 代码迷 >> Java相关 >> JTextArea
  详细解决方案

JTextArea

热度:749   发布时间:2007-05-15 18:54:00.0
JTextArea

各位大哥大姐和所有的前辈们:
在JTextArea对象中加载文本时,怎么没有滚动条?JTextArea类没有设置滚动条方法吗?我在API文档中查不到
请各位大哥大姐指点一下!

搜索更多相关的解决方案: JTextArea  大姐  API  文档中  前辈  

----------------解决方案--------------------------------------------------------

JScrollPane


----------------解决方案--------------------------------------------------------

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JScrollPane;

import javax.swing.JTextArea;
public class MyJTextArea {

private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="158,19"
private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;

private JTextArea jTextArea = null; // @jve:decl-index=0:visual-constraint="-518,107"

/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
private JFrame getJFrame() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setSize(new Dimension(440, 167));
jFrame.setContentPane(getJContentPane());
}
return jFrame;
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJScrollPane(), BorderLayout.EAST);
}
return jContentPane;
}

/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane(getJTextArea());
}
return jScrollPane;
}

/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/

/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea(10,40);
}
return jTextArea;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyJTextArea().getJFrame().setVisible(true);
}

}


----------------解决方案--------------------------------------------------------
默认是没有滚动条的,你可以把它放在 JScrollPane组件中,
例如:
JTextArea area=new JTextArea(3,6);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS; //强制显示垂直滚动条
int h=ScrollPaenConstants.HORIZONTAL_SCROLLBAR_ALWAYS; //强制显示水平滚动条
JScrollPane jsp=new JScrollPane(area,v,h); //创建JScrollPane组件并将文本区置如其显示区域内

----------------解决方案--------------------------------------------------------
/**
* initPanel
*
* @return JPanel
*/
private JPanel initPanel() {
JScrollPane pResult = new JScrollPane(initResultPanel(""));
p.add(pResult, BorderLayout.CENTER);
return p;
}
/**
* initResultPanel for display result
*
* @param result
* @return JTextArea
*/
private JTextArea initResultPanel(String result) {
r.setAutoscrolls(true);
r.setText(result);
r.setEditable(false);
r.setLineWrap(true);
return r;
}
----------------解决方案--------------------------------------------------------
JTextArea jta = new JTextArea ();
JScrollPane jsp=new JScrollPane(jta);
----------------解决方案--------------------------------------------------------
以下是引用食恶不色在2007-5-16 11:36:43的发言:
JTextArea jta = new JTextArea ();
JScrollPane jsp=new JScrollPane(jta);

这种方法比较简单,谢谢啊!
----------------解决方案--------------------------------------------------------
回复:(l154975439)JTextArea

谢谢所有热心的朋友们!


----------------解决方案--------------------------------------------------------
用JScrollPane() 可以
我想问问 是不是 也可以用 JScrollBar
==解答 呵呵
----------------解决方案--------------------------------------------------------