Swing コンポーネント
JPanel
JPanel は基本的に AWT のPanel コンポーネントと同じで、境界線がなく、移動できません。 . 、パネルを拡大、縮小、または閉じます。そのデフォルトのレイアウト マネージャーは FlowLayout です。また、JPanel のパラメーター化されたコンストラクター JPanel (LayoutManager レイアウト) またはその setLayout() メソッドを使用して、そのレイアウト マネージャーを指定することもできます。
JScrollPane
JScrollPane はスクロール バー付きのパネル コンテナーであり、このパネルに追加できるコンポーネントは 1 つだけです。パネルに複数のコンポーネントを追加する場合は、コンポーネントを JPanel に追加する必要があります。をクリックし、JPanel を JScrollPane に追加します。
JScrollPane の一般的な構築メソッド
JScrollPane()//创建一个空的JScrollPane面板
JScrollPane(Component view)//创建一个显示指定组件的JScrollPane面板,只要组件的内容超过视图大小就会显示水平和垂直滚动条
JScrollPane(Component view,int vsbPolicy,int hsbPolicy)//创建一个显示指定容器并具有指定滚动条策略的JScrollPane。参数vsbPolicy和hsbPolicy分别表示垂直滚动条策略和水平滚动条策略,指定为SCrollPaneConstants的静态常量。
ログイン後にコピー
JScrollPane のメソッド
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();
}
}
ログイン後にコピー
# # テキスト コンポーネント
テキスト コンポーネントは、テキスト ボックス (JtexField) やテキスト エリア (JtexArea) など、ユーザーが入力した情報を受信したり、ユーザーに情報を表示したりするために使用され、共通の親クラス JTextComponent を持ちます。これは、テキスト コンポーネントによく使用されるメソッドを提供する抽象クラスです。
テキストコンポーネントの共通メソッド
メソッドの説明 | 関数の説明 |
String getText() | テキスト コンポーネント内のすべてのテキスト コンテンツを返します |
String getSeletedText() | 選択したテキスト コンポーネントを返します Text content |
void selectAll() | テキスト コンポーネント内のすべてのコンテンツを選択します |
void setEditable() | テキスト コンポーネントを編集可能または編集不可能に設定します |
##void setText(String text)テキスト コンポーネントの内容を設定します | | #void replaceSelection(String content)
現在選択されているコンテンツを指定されたコンテンツに置き換えます | |
テキスト ボックス (JTextField)
単一行のテキストの入力のみ受け付けます。一般的に使用されるテキスト ボックスの構築方法
メソッドの説明関数の説明 | |
JTextField()空のテキスト ボックスを作成します。初期文字列は null | | JTextField(int columns )
指定された列数でテキスト ボックスを作成します。初期文字列は null | | JTextField(String text)
テキストを作成しますテキスト ボックス | | JTextField(String text,intcolumn)
指定した列数のテキスト ボックスを作成し、指定した初期文字列を表示しますstring | |
テキスト領域 (JTextArea)
複数行のテキスト入力を受け取ることができ、領域内の行数と列数を設定できます。一般的な構造メソッド
##メソッドの説明
#関数の説明 | | JTextArea(文字列テキスト)
指定された初期文字列の作成と表示 テキスト フィールド | JTextArea() | 空のテキスト フィールドの作成
#JTextArea(int rows,int columns) | 指定した行と列を含む空のテキスト領域を作成します |
JTextArea(String text,int rows,int columns) | 初期テキストを指定して表示を作成し、行と列のテキスト フィールドを指定します |
##チャット ウィンドウの例 | package Swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LiaoTian extends Frame {
JButton sendBt;
JTextField inputField;
JTextArea chatContent;
public LiaoTian(){
this.setLayout(new BorderLayout());
//创建一个文本域
chatContent=new JTextArea(12,34);
//创建一个滚动面板,将文本域作为显示条件
JScrollPane showPanel=new JScrollPane(chatContent);
//设置文本域为不可编辑
chatContent.setEditable(false);
//创建一个面板
JPanel inputPanel=new JPanel();
//创建一个文本框
inputField =new JTextField(20);
//创建一个发送按钮
sendBt=new JButton("发送");
//为按钮添加事件
sendBt.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//获取输入的信息
String content=inputField.getText();
//判断输入的信息是否为空
if(content!=null&&!content.trim().equals("")){
chatContent.append("本人:"+content+"\n");
}else{
chatContent.append("聊天信息不能为空"+"\n");
}
inputField.setText("");
}
});
//创建一个标签
Label label=new Label("聊天信息");
//将标签添加到Jpanel面板
inputPanel.add(label);
//将按钮添加到Jpanel面板
inputPanel.add(inputField);
//将滚动面板和JPanel面板添加到JFrame窗口
inputPanel.add(sendBt);
this.add(showPanel,BorderLayout.CENTER);
this.add(inputPanel,BorderLayout.SOUTH);
this.setTitle("聊天窗口");
this.setSize(400,300);
this.setVisible(true);
}
public static void main(String[] args) {
new LiaoTian();
}
}
ログイン後にコピー
実行結果 |
上記から、JFrame を通じて単純なウィンドウをシミュレートできます。まず、BorderLayout レイアウト マネージャーを通じてウィンドウを 2 つの領域に分割し、次に JScrollPane スクロール パネルを中央に配置します。エリアに JTextArea テキスト フィールドを追加します。チャット レコードの表示に使用されます。JPanel パネルは南のエリアに配置され、JPanel パネルには 3 つのコンポーネントが配置されます。JLabel ラベルは情報の説明に使用され、 JTextField テキスト ボックスはユーザーのチャット情報を入力するために使用され、JButton ボタンはチャット情報を送信するために使用されます。ここで使用される JLabel コンポーネントは静的コンポーネントであり、静的テキストとアイコンの行を表示するために使用されます。その機能は情報の説明です。ユーザー入力を受け入れず、イベントを追加することもできません。
以上がJava チャット ウィンドウを作成するプロセスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-13 11:44:01
-
2024-10-13 09:56:31
-
2024-10-11 20:58:41
-
2024-10-11 16:53:11
-
2024-10-11 11:54:51
-
2024-10-10 16:21:01
-
2024-10-10 15:18:02
-
2024-10-10 13:34:01
-
2024-10-10 13:26:26
-
2024-10-10 11:38:42