JTextArea는 여러 줄의 텍스트를 구현하는 컨트롤입니다
JTextArea()
는 새로운 TextArea를 구성합니다.JTextArea()
构造新的TextArea。
JTextArea(Document doc)
构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0)。
JTextArea(Document doc, String text, int rows, int columns)
构造具有指定行数和列数以及给定模型的新的 JTextArea。
JTextArea(int rows, int columns)
构造具有指定行数和列数的新的空 TextArea。
JTextArea(String text)
构造显示指定文本的新的 TextArea。
JTextArea(String text, int rows, int columns)
构造具有指定文本、行数和列数的新的 TextArea。
append(String text)
在末尾插入文本
getColumns()
getLineWrap()
获取文本区的换行策略
setLineWrap(boolean wrap)
设置换行的策略,如果设置为true,那么就会在一行结束的时候自动换行
setWrapStyleWord(boolean wrap)
设置断行不断字,也就是在你写单词写到末尾的时候如果没有写完,那么就会将你这个单词一起移到下一行来,而不是只移动一个单词下来,这样就会单词不分割了
setFont(Font f)
设置字体
insert(String str, int pos)
将指定文本插入指定位置。
replaceRange(String str, int start, int end)
用给定的新文本替换从指示的起始位置到结尾位置的文本。
setRows(int rows)
设置此 TextArea 的行数。
JScrollPane()
创建一个空的(无视口的视图)JScrollPane,需要时水平和垂直滚动条都可显示。
JScrollPane(Component view)
创建一个显示指定组件内容的 JScrollPane,只要组件的内容超过视图大小就会显示水平和垂直滚动条。
JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。vsbPolicy和hsPolicy是用来控制滚动条何时出现的,其中的值如下:
HORIZONTAL_SCROLLBAR_ALAWAYS
: 总是显示水平滚动轴。
HORIZONTAL_SCROLLBAR_AS_NEEDED
:当组件内容水平区域大于显示区域时出现水平滚动轴。
HORIZONTAL_SCROLLBAR_NEVER
: 总是不显示水平滚动轴。
VERTICAL_SCROLLBAR_ALWAYS
: 总是显示垂直滚动轴。
VERTICAL_SCROLLBAR_AS_NEEDED
: 当组件内容垂直区域大于显示区域时出现垂直滚动轴。
VERTICAL_SCROLLBAR_NEVER
: 总是不显示垂直滚动轴。
JScrollPane(int vsbPolicy, int hsbPolicy)
创建一个具有指定滚动条策略的空(无视口的视图)JScrollPane。
setHorizontalScrollBarPolicy(int policy)
确定水平滚动条何时显示在滚动窗格上。
setVerticalScrollBarPolicy(int policy)
确定垂直滚动条何时显示在滚动窗格上。
setColumnHeaderView(Component view)
创建一个列标题视口(如果有必要),设置其视图然后将此列标题视口添加到滚动窗格。设置水平表头
setRowHeaderView(Component view)
设置垂直表头,即是创建一个行标题视口
setViewportBorder(Border viewportBorder)
JTextArea(Document doc)
지정된 문서 모델과 기타 모든 매개변수 기본값을 사용하여 새 JTextArea를 구성합니다(null, 0, 0).
JTextArea(Document doc, String text, int 행, int 열)
지정된 행과 열 수 및 지정된 모델을 사용하여 새 JTextArea를 구성합니다. JTextArea(int 행, int 열)
지정된 수의 행과 열을 사용하여 비어 있는 새 TextArea를 구성합니다. 🎜🎜🎜🎜JTextArea(String text)
지정된 텍스트를 표시하는 새 TextArea를 구성합니다. 🎜🎜🎜🎜JTextArea(String text, int 행, int 열)
지정된 텍스트, 행 수 및 열 수를 사용하여 새 TextArea를 구성합니다. 🎜🎜🎜🎜🎜일반적으로 사용되는 방법🎜🎜🎜🎜🎜append(String text)
끝에 텍스트 삽입🎜🎜🎜🎜getColumns()
🎜🎜🎜🎜 getLineWrap()
텍스트 영역의 줄 바꿈 전략을 가져옵니다🎜🎜🎜🎜setLineWrap(boolean Wrap)
줄 바꿈 전략을 설정합니다. true로 설정하면 자동으로 줄 바꿈됩니다. end of a line🎜 🎜🎜🎜setWrapStyleWord(boolean Wrap)
줄바꿈과 단어바꿈을 설정합니다. 즉, 단어를 끝까지 썼을 때 끝나지 않으면 단어가 이동됩니다. 한 단어만 아래로 이동하는 것이 아니라 단어가 나누어지지 않습니다🎜🎜🎜🎜setFont(Font f)
글꼴을 설정합니다🎜🎜🎜🎜insert(String str, int pos)
code> 지정된 텍스트를 지정된 위치에 삽입합니다. 🎜🎜🎜🎜replaceRange(String str, int start, int end)
표시된 시작 위치부터 끝 위치까지의 텍스트를 지정된 새 텍스트로 바꿉니다. 🎜🎜🎜🎜setRows(int 행)
이 TextArea의 행 수를 설정합니다. 🎜🎜🎜🎜🎜JScrollPane🎜🎜Constructor🎜🎜🎜🎜🎜JScrollPane()
필요할 때 가로 및 세로 스크롤 막대를 모두 표시하는 빈(포트 없음 보기) JScrollPane을 만듭니다. 🎜🎜🎜🎜JScrollPane(Component view)
지정된 구성 요소의 내용을 표시하는 JScrollPane을 만듭니다. 구성 요소의 내용이 보기 크기를 초과하는 한 가로 및 세로 스크롤 막대가 표시됩니다. 🎜🎜🎜🎜JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
한 쌍의 스크롤 막대를 사용하여 위치를 제어할 수 있는 뷰포트에 뷰 구성 요소를 표시하는 JScrollPane을 만듭니다. vsbPolicy 및 hsPolicy는 스크롤 막대가 나타나는 시기를 제어하는 데 사용됩니다. 값은 다음과 같습니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜HORIZONTAL_SCROLLBAR_ALAWAYS
: 항상 가로 스크롤 축을 표시합니다. 🎜🎜🎜🎜HORIZONTAL_SCROLLBAR_AS_NEEDED
: 구성 요소 콘텐츠의 가로 영역이 표시 영역보다 큰 경우 가로 스크롤 축이 나타납니다. 🎜🎜🎜🎜HORIZONTAL_SCROLLBAR_NEVER
: 가로 스크롤 축이 항상 표시되지 않습니다. 🎜🎜🎜🎜VERTICAL_SCROLLBAR_ALWAYS
: 항상 세로 스크롤 축을 표시합니다. 🎜🎜🎜🎜VERTICAL_SCROLLBAR_AS_NEEDED
: 구성 요소 콘텐츠의 세로 영역이 표시 영역보다 클 때 세로 스크롤 축이 나타납니다. 🎜🎜🎜🎜VERTICAL_SCROLLBAR_NEVER
: 세로 스크롤 축이 항상 표시되지 않습니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜JScrollPane(int vsbPolicy, int hsbPolicy)
지정된 스크롤 막대 정책을 사용하여 빈(포트 없음 보기) JScrollPane을 만듭니다. 🎜🎜🎜🎜🎜일반적으로 사용되는 메서드🎜🎜🎜🎜🎜setHorizontalScrollBarPolicy(int 정책)
는 스크롤 창에 가로 스크롤 막대가 표시되는 시기를 결정합니다. 🎜🎜🎜🎜setVerticalScrollBarPolicy(int 정책)
스크롤 창에 세로 스크롤 막대가 표시되는 시기를 결정합니다. 🎜🎜🎜🎜setColumnHeaderView(Component view)
열 머리글 뷰포트를 만들고(필요한 경우) 해당 보기를 설정한 다음 이 열 머리글 뷰포트를 스크롤 창에 추가합니다. 가로 헤더 설정🎜🎜🎜🎜setRowHeaderView(Component view)
행 헤더 뷰포트를 생성하는 세로 헤더 설정🎜🎜🎜🎜setViewportBorder(Border viewportBorder)
서라운드 뷰포트에 테두리를 추가합니다. 🎜🎜🎜🎜🎜인스턴스🎜🎜package demo;import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class demo extends JFrame {private JTextField textField;public demo() {super();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100, 100, 400, 300); JPanel panel_North = new JPanel();this.getContentPane().add(panel_North, BorderLayout.NORTH); FlowLayout flowLayout = (FlowLayout) panel_North.getLayout(); flowLayout.setAlignment(FlowLayout.LEFT); JLabel label = new JLabel("name:"); label.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20)); panel_North.add(label); textField = new JTextField(20); textField.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20)); panel_North.add(textField); JTextArea textArea = new JTextArea(6, 30); textArea.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20)); textArea.setWrapStyleWord(true); textArea.setLineWrap(true); JPanel panel_center = new JPanel(); FlowLayout flowLayout_center = (FlowLayout) panel_center.getLayout(); flowLayout_center.setAlignment(FlowLayout.LEFT);this.getContentPane().add(panel_center, BorderLayout.CENTER); //设置中间的组件JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); //设置水平滚动条出现的时间scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);//设置垂直滚动条出现的时间panel_center.add(scrollPane); JPanel panel_header = new JPanel(); JLabel label_header = new JLabel("水平表头"); panel_header.add(label_header); scrollPane.setColumnHeaderView(panel_header); //设置水平表头JPanel panel_v = new JPanel(); JLabel label_v = new JLabel("垂直表头"); panel_v.add(label_v); scrollPane.setRowHeaderView(panel_v); //设置垂直表头}public static void main(String[] args) { demo f = new demo(); f.setVisible(true); } }
滚动条的实现。用户在滚动条内移动滑块可确定显示区域中的内容。该程序通常将显示调整为滚动条的结束代表可显示内容的结束,或内容的 100%。滚动条的开始为可显示内容的开始,或 0%。然后滑块在其边界中的位置转换为可显示内容对应的百分比。
JScrollBar()
创建具有下列初始值的垂直滚动条
JScrollBar(int orientation)
创建具有指定方向和下列初始值的滚动条,其中的值为JScrollBar.VERTICAL(垂直滚动条),JScrollBar.HORIZONTAL(水平滚动条)
JScrollBar(int orientation, int value, int extent, int min, int max)
创建具有指定方向、值、跨度、最小值和最大值的一个滚动条。value为当前滚动条位于的位置,min和max共同组成了滚动条的范围,extent表示滚动条的跨越的宽度
*
addAdjustmentListener(AdjustmentListener l)
添加一个滚动条调整的事件侦听器,例子如下:
scrollBar_1.addAdjustmentListener(new AdjustmentListener() { //添加一个事件侦听器@Overridepublic void adjustmentValueChanged(AdjustmentEvent e) { scrollBar_1=(JScrollBar)e.getSource(); //获得监听的控件,这里要强制转换成滚动条类型的textField_North.setText(""+scrollBar_1.getValue()); //r如果滚动条移动了,那么就将刻度显示在文本域中} });
setModel(BoundedRangeModel newModel)
设置处理滚动条的以下四个基本属性的模型:minimum、maximum、value 和 extent。通过这个函数可以将滚动条与其他的控件绑定在一起,下面将会演示一下JTextField绑定滚动条
//获取文本字段的可见性,如果文本字段大小大于分配给他的大小那么可以对他进行调整BoundedRangeModel boundedRangeModel = textField.getHorizontalVisibility();//设置处理滚动条的以下四个基本属性的模型:minimum、maximum、value 和 extent。scrollBar.setModel(boundedRangeModel); //通过这个的绑定,就将滚动条和文本域绑定在一起了
setOrientation(int orientation)
将滚动条的方向设置为 VERTICAL 或 HORIZONTAL。
setMaximum(int maximum)
设置模型的 maximum 属性。
setMinimum(int minimum)
设置模型的 minimum 属性。
setValue(int value)
设置当前的值
setUnitIncrement(int unitIncrement)
设置 unitIncrement 属性,设置拖曳滚动轴时,滚动轴刻度一次的变化量。
setBlockIncrement(int blockIncrement)
设置 blockIncrement 属性, 设置当鼠标在滚动轴列上按一下是,滚动轴一次所跳的区块大小
setVisibleAmount(int extent)
; 设置extent值
可以用以图形方式表示的属性来标记的文本组件,相当于处理文本的工具word文档一样,可以在其中为文本设置不同的属性
JTextPane()
创建一个新的 JTextPane。
JTextPane(StyledDocument doc)
创建具有指定文档模型的新 JTextPane。
setCharacterAttributes(AttributeSet attr, boolean replace)
将给定属性应用于字符内容,这个是将样式应用到文本的函数
getStyledDocument()
获取与编辑器关联的模型。
package demo;import javax.swing.*;import javax.swing.text.*;import java.awt.*;/** * Created by chenjiabing on 17-5-22. */public class TextPane extends JFrame {public TextPane() {super();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100, 100, 400, 500); JTextPane textPane = new JTextPane();// textPane.setBackground(Color.black);// textPane.setFont(new Font("微软雅黑",Font.ITALIC,20));JScrollPane scrollPane = new JScrollPane(textPane); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); SimpleAttributeSet simpleAttributeSet = new SimpleAttributeSet(); //创建一个属性StyleConstants.setForeground(simpleAttributeSet, Color.GREEN); //设置前景色StyleConstants.setBold(simpleAttributeSet, true); //设置加粗StyleConstants.setUnderline(simpleAttributeSet, true); //设置下划线StyleConstants.setFontFamily(simpleAttributeSet, "微软雅黑"); //设置字体StyleConstants.setFontSize(simpleAttributeSet, 20); //设置字体大小StyleConstants.setItalic(simpleAttributeSet, true); //设置倾斜StyleConstants.setStrikeThrough(simpleAttributeSet, true); //设置删除线StyleConstants.setFirstLineIndent(simpleAttributeSet, 2.5f); //设置首行缩进StyleConstants.setLineSpacing(simpleAttributeSet, 20); StyleConstants.setRightIndent(simpleAttributeSet, 2.4f); textPane.setCharacterAttributes(simpleAttributeSet, true);// Document doc=textPane.getStyledDocument(); //获得关联的文本// try {// doc.insertString(doc.getLength(), "陈加兵", simpleAttributeSet); //向文本中插入字符串// }catch (BadLocationException e)// {// e.printStackTrace();// }this.getContentPane().add(scrollPane, BorderLayout.CENTER); }public static void main(String[] args) { TextPane text = new TextPane(); text.setVisible(true); } }
위 내용은 Java 가치 Swing 시리즈 제어 1의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!