Maison  >  Article  >  Java  >  Valeur JavaSérie SwingContrôler un

Valeur JavaSérie SwingContrôler un

怪我咯
怪我咯original
2017-06-25 10:22:571589parcourir

Contrôles de la série Swing

JTextArea

JTextArea est un contrôle qui implémente du texte multiligne

Constructeur

  • JTextArea() Construisez une nouvelle TextArea.

  • JTextArea(Document doc) Construit un nouveau JTextArea avec le modèle de document donné et tous les autres paramètres par défaut (null, 0, 0).

  • JTextArea(Document doc, String text, int rows, int columns) Construit un nouveau JTextArea avec le nombre spécifié de lignes et de colonnes et le modèle donné.

  • JTextArea(int rows, int columns) Construit une nouvelle TextArea vide avec le nombre spécifié de lignes et de colonnes.

  • JTextArea(String text) Construit une nouvelle TextArea qui affiche le texte spécifié.

  • JTextArea(String text, int rows, int columns) Construit une nouvelle TextArea avec le texte spécifié, le nombre de lignes et le nombre de colonnes.

Méthodes couramment utilisées

  • append(String text) Insérer du texte à la fin

  • getColumns()

  • getLineWrap() Obtenez la stratégie de retour à la ligne de la zone de texte

  • setLineWrap(boolean wrap) Définir la stratégie de retour à la ligne , s'il est défini sur true , il sera automatiquement renvoyé à la fin d'une ligne

  • setWrapStyleWord(boolean wrap) Définissez les sauts de ligne et les sauts de mots, c'est-à-dire lorsque vous écrivez un mot jusqu'à la fin , si vous n'avez pas fini de l'écrire, alors il déplacera votre mot ensemble vers la ligne suivante au lieu de simplement déplacer un mot vers le bas, afin que les mots ne soient pas séparés

  • setFont(Font f) Définissez la police

  • insert(String str, int pos) Insérez le texte spécifié à la position spécifiée.

  • replaceRange(String str, int start, int end) Remplace le texte de la position de début indiquée à la position de fin par le nouveau texte donné.

  • setRows(int rows) Définissez le nombre de lignes pour cette TextArea.

JScrollPane

Constructeur

  • JScrollPane() Crée une vue vide (sans port)) JScrollPane, les barres de défilement horizontales et verticales peuvent être affichées en cas de besoin.

  • JScrollPane(Component view) Crée un JScrollPane qui affiche le contenu du composant spécifié. Les barres de défilement horizontales et verticales seront affichées chaque fois que le contenu du composant dépasse la taille de la vue.

  • JScrollPane(Component view, int vsbPolicy, int hsbPolicy) Crée un JScrollPane qui affiche un composant de vue dans une fenêtre dont la position peut être contrôlée à l'aide d'une paire de barres de défilement. vsbPolicy et hsPolicy sont utilisés pour contrôler le moment où la barre de défilement apparaît. Les valeurs sont les suivantes :

  •  : affiche toujours l'axe de défilement horizontal. HORIZONTAL_SCROLLBAR_ALAWAYS

  •  : Un axe de défilement horizontal apparaît lorsque la zone horizontale du contenu du composant est plus grande que la zone d'affichage. HORIZONTAL_SCROLLBAR_AS_NEEDED

  •  : N'affichez toujours pas l'axe de défilement horizontal. HORIZONTAL_SCROLLBAR_NEVER

  •  : Affichez toujours l'axe de défilement vertical. VERTICAL_SCROLLBAR_ALWAYS

  •  : L'axe de défilement vertical apparaît lorsque la zone verticale du contenu du composant est plus grande que la zone d'affichage. VERTICAL_SCROLLBAR_AS_NEEDED

  •  : N'affichez toujours pas l'axe de défilement vertical. VERTICAL_SCROLLBAR_NEVER

  • Crée un JScrollPane vide (vue sans port) avec la stratégie de barre de défilement spécifiée. JScrollPane(int vsbPolicy, int hsbPolicy)

Méthodes courantes

  • Déterminez quand la barre de défilement horizontale est affichée sur le volet de défilement. setHorizontalScrollBarPolicy(int policy)

  • Détermine quand la barre de défilement verticale est affichée sur le volet de défilement. setVerticalScrollBarPolicy(int policy)

  • Créez une fenêtre d'en-tête de colonne (si nécessaire), définissez sa vue, puis ajoutez cette fenêtre d'en-tête de colonne au volet de défilement. Définir l'en-tête horizontal setColumnHeaderView(Component view)

  • Définir l'en-tête vertical, ce qui signifie créer une fenêtre d'en-tête de ligne setRowHeaderView(Component view)

  • autour de la fenêtre Ajouter une frontière. setViewportBorder(Border viewportBorder)

Instance

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);

    }

}

JScrollBar

滚动条的实现。用户在滚动条内移动滑块可确定显示区域中的内容。该程序通常将显示调整为滚动条的结束代表可显示内容的结束,或内容的 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值

JTextPanel

可以用以图形方式表示的属性来标记的文本组件,相当于处理文本的工具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);


    }


}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn