JPanel は基本的に AWT のPanel コンポーネントと同じで、境界線がなく、移動できません。 . 、パネルを拡大、縮小、または閉じます。そのデフォルトのレイアウト マネージャーは FlowLayout です。また、JPanel のパラメーター化されたコンストラクター JPanel (LayoutManager レイアウト) またはその setLayout() メソッドを使用して、そのレイアウト マネージャーを指定することもできます。
JScrollPane はスクロール バー付きのパネル コンテナーであり、このパネルに追加できるコンポーネントは 1 つだけです。パネルに複数のコンポーネントを追加する場合は、コンポーネントを JPanel に追加する必要があります。をクリックし、JPanel を 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(); } }
関数の説明 | |
---|---|
テキスト コンポーネント内のすべてのテキスト コンテンツを返します | |
選択したテキスト コンポーネントを返します Text content | |
テキスト コンポーネント内のすべてのコンテンツを選択します | |
テキスト コンポーネントを編集可能または編集不可能に設定します | |
テキスト コンポーネントの内容を設定します | #void replaceSelection(String content) |
JTextField(int columns ) | |
JTextField(String text) | |
JTextField(String text,intcolumn) | |
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(); } }
以上がJava チャット ウィンドウを作成するプロセスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
JTextArea(文字列テキスト) | |
---|---|
JTextArea() | 空のテキスト フィールドの作成 |
#JTextArea(int rows,int columns) | 指定した行と列を含む空のテキスト領域を作成します |
JTextArea(String text,int rows,int columns) | 初期テキストを指定して表示を作成し、行と列のテキスト フィールドを指定します |
##チャット ウィンドウの例 | 実行結果 |