首頁 > Java > java教程 > 主體

Java聊天視窗的建立流程是什麼

PHPz
發布: 2023-05-10 15:58:06
轉載
1954 人瀏覽過

    Swing元件

    JPanel

    #JPanel和AWT中的Panel元件使用方法基本上一致,是無邊框,不能被移動,放大,縮小,或關閉面板,它的預設佈局管理器是FlowLayout,也可以用JPanel帶參數的建構函式JPanel(LayoutManager layout)或它的setLayout()方法為其製定佈局管理器。

    JScrollPane

    JScrollPane是一個有捲軸的面板容器,而且這個面板只能加入一個元件,如果想在面板中加入多個元件,要把元件加入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();
         }
     }
    登入後複製

    Java聊天視窗的建立流程是什麼

    文字元件用於接收使用者輸入的訊息或向使用者展示訊息,包括文字方塊(JtexField),文字域(JtexArea),它們有一個共同的父類別JTextComponent。這是一個抽象類,提供了文字元件常用的方法。 方法描述#功能說明String getText()傳回文字元件中所有的文字內容String getSeletedText()傳回文字元件中選定的文字內容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)建立一個具有指定列數並顯示指定初始字串的文字方塊#文字域(JTextArea)方法描述功能說明#JTextArea(String text)建立顯示指定初始字串的文字域
    能接收多行的文字輸入,可以設定區域的行數和列數,常用的建構方法

    JTextArea()

    建立一個空的文字域

    Java聊天視窗的建立流程是什麼

    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佈局管理器將窗口分為兩個區域,然後再center區域放入了一個JScrollPane滾動面板,在滾動面板中添加了一個JTextArea文本域,用於顯示聊天記錄,south區域放置了一個JPanel面板,在JPanel面板中放置了三個組件,JLabel標籤用於信息說明,JTextField文本框用於輸入用戶的聊天信息,JButton按鈕用於發送聊天信息。這裡使用的JLabel元件是一個靜態的元件,用來顯示一行靜態的文字和圖標,它的作用是資訊說明,不接受使用者的輸入,也不能加入事件。 ###

    以上是Java聊天視窗的建立流程是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    相關標籤:
    來源:yisu.com
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!