JPanel ist im Grunde das gleiche wie die Panel-Komponente in AWT und kann nicht verschoben, vergrößert, verkleinert oder geschlossen werden Verwenden Sie auch den parametrisierten Konstruktor JPanel (LayoutManager-Layout) oder dessen setLayout()-Methode, um einen Layout-Manager dafür zu entwickeln.
JScrollPane ist ein Panel-Container mit Bildlaufleisten. Dieses Panel kann nur eine Komponente hinzufügen. Wenn Sie dem Panel mehrere Komponenten hinzufügen möchten, müssen Sie die Komponenten zum JPanel hinzufügen und dann das JPanel hinzufügen das JScrollPane .
JScrollPane()//创建一个空的JScrollPane面板 JScrollPane(Component view)//创建一个显示指定组件的JScrollPane面板,只要组件的内容超过视图大小就会显示水平和垂直滚动条 JScrollPane(Component view,int vsbPolicy,int hsbPolicy)//创建一个显示指定容器并具有指定滚动条策略的JScrollPane。参数vsbPolicy和hsbPolicy分别表示垂直滚动条策略和水平滚动条策略,指定为SCrollPaneConstants的静态常量。
void setHorizontalBarPolicy(int policy)//指定水平滚动条策略,即水平滚动条何时显示在滚动面板上 void setVerticalBarPolicy(int policy)//指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上 void setViewportView(Component view)//设置在滚动面板显示的组件 void setHorizontalBarPolicy(int policy)//指定水平滚动条策略,即水平滚动条何时显示在滚动面板上 void setVerticalBarPolicy(int policy)//指定垂直滚动条策略,即垂直滚动条何时显示在滚动面板上 void setViewportView(Component view)//设置在滚动面板显示的组件
package Swing; import javax.swing.*; import java.awt.*; public class Example02 extends JFrame{ public Example02(){ this.setTitle("PanelDemo"); //创建一个滚动面板 JScrollPane scrollPane=new JScrollPane(); //设置水平滚动条策略,---滚动条一直显示 scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); //设置垂直滚动条策略----滚动条需要时显示 scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); //定义一个面板 JPanel panel=new JPanel(); panel.add(new JButton("按钮一")); panel.add(new JButton("按钮二")); panel.add(new JButton("按钮三")); panel.add(new JButton("按钮四")); //设置JPanel面板在滚动面板中显示 scrollPane.setViewportView(panel); //将滚动面板添加到内容面板的中心区域 this.add(scrollPane, BorderLayout.CENTER); //将一个按钮添加到内容面板的SOUTH区域 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400,250); this.setVisible(true); } public static void main(String[] args) { new Example02(); } }
Die Textkomponente wird verwendet, um vom Benutzer eingegebene Informationen zu empfangen oder dem Benutzer Informationen anzuzeigen , einschließlich Textfelder (JtexField) und Textbereiche (JtexArea), haben sie eine gemeinsame übergeordnete Klasse JTextComponent. Dies ist eine abstrakte Klasse, die häufig verwendete Methoden für Textkomponenten bereitstellt.
Methodenbeschreibung | Funktionsbeschreibung |
---|---|
String getText() | Alle Textinhalte in der Textkomponente zurückgeben |
String getSeletedText() | Zurück zu Text Ausgewählter Textinhalt in der Komponente setText (String text) |
void replaceSelection(String content) | |
Textfeld (JTextField) | |
Funktionsbeschreibung |
Erstellen Sie ein Textfeld mit der angegebenen Anzahl von Spalten, die Anfangszeichenfolge ist null | |
---|---|
JTextField( String text,intcolumn ) | |
Textbereich (JTextArea) | |
Funktionsbeschreibung |
Erstellen Sie einen leeren Textbereich | |
---|---|
JTextArea(String text,int rows,int columns) | |
Beispiel für ein Chatfenster Teilen Sie das Fenster über den BorderLayout-Layout-Manager in zwei Bereiche. Anschließend wird ein JScrollPane-Bildlauffeld im mittleren Bereich platziert, ein JTextArea-Textfeld zum Bildlauffeld zum Anzeigen von Chat-Datensätzen hinzugefügt, ein JPanel-Feld im südlichen Bereich platziert und Im JPanel-Bedienfeld werden drei Komponenten platziert. Das JLabel-Label dient zur Informationsbeschreibung, das JTextField-Textfeld dient zur Eingabe der Chat-Informationen des Benutzers und die JButton-Schaltfläche zum Senden von Chat-Informationen. Die hier verwendete JLabel-Komponente ist eine statische Komponente, die zum Anzeigen einer Zeile mit statischem Text und Symbolen verwendet wird. Ihre Funktion ist die Beschreibung von Informationen. Sie akzeptiert keine Benutzereingaben und kann keine Ereignisse hinzufügen. |
Das obige ist der detaillierte Inhalt vonWie wird ein Java-Chatfenster erstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!