您好,登錄后才能下訂單哦!
本篇內容介紹了“Java聊天窗口的創建流程是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
JPanel和AWT中的Panel組件使用方法基本一致,是一個無邊框,不能被移動,放大,縮小,或者關閉面板,它的默認布局管理器是FlowLayout,也可以用JPanel帶參數的構造函數JPanel(LayoutManager layout)或者它的setLayout()方法為其制定布局管理器。
JScrollPane是一個帶有滾動條的面板容器,而且這個面板只能添加一個組件,如果想在面板中添加多個組件,要把組件添加到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(); } }
文本組件用于接收用戶輸入的信息或向用戶展示信息,包括文本框(JtexField),文本域(JtexArea),它們有一個共同的父類JTextComponent。這是一個抽象類,提供了文本組件常用的方法。
方法描述 | 功能說明 |
---|---|
String getText() | 返回文本組件中所有的文本內容 |
String getSeletedText() | 返回文本組件中選定的文本內容 |
void selectAll() | 在文本組件中選中所有內容 |
void setEditable() | 設置文本組件為可編輯或不可編輯狀態 |
void setText(String text) | 設置文本組件的內容 |
void replaceSelection(String content) | 用給定的內容替換當前選中的內容 |
只能接收單行文本的輸入,文本框常用的構造方法
方法描述 | 功能說明 |
---|---|
JTextField() | 創建一個空的文本框,初始字符串為null |
JTextField(int columns) | 創建一個具有指定列數的文本框,初始字符串為null |
JTextField(String text) | 創建一個顯示指定初始字符串的文本框 |
JTextField(String text,intcolumn) | 創建一個具有指定列數并顯示指定初始字符串的文本框 |
能接收多行的文本輸入,可以設置區域的行數和列數,常用的構造方法
方法描述 | 功能說明 |
---|---|
JTextArea(String text) | 創建顯示指定初始字符串的文本域 |
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布局管理器將窗口分為兩個區域,然后再center區域放入了一個JScrollPane滾動面板,在滾動面板中添加了一個JTextArea文本域,用于顯示聊天記錄,south區域放置了一個JPanel面板,在JPanel面板中放置了三個組件,JLabel標簽用于信息說明,JTextField文本框用于輸入用戶的聊天信息,JButton按鈕用于發送聊天信息。在這里使用的JLabel組件是一個靜態的組件,用于顯示一行靜態的文本和圖標,它的作用是信息說明,不接受用戶的輸入,也不能添加事件。
“Java聊天窗口的創建流程是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。