#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(); } }
##文字元件 | |
文字元件的常用方法 | |
#功能說明 | |
String getText() | 傳回文字元件中所有的文字內容 |
String getSeletedText() | 傳回文字元件中選定的文字內容 |
void selectAll() | 在文字元件中選取所有內容 |
設定文字元件為可編輯或無法編輯狀態
設定文字元件的內容 | |
---|---|
只能接收單行文字的輸入,文字方塊常用的建構方法 | |
功能說明 | |
#JTextField() | 建立一個空的文字框,初始字串為null |
建立一個具有指定列數的文字框,初始字串為null
建立一個顯示指定初始字串的文字方塊 | |
---|---|
能接收多行的文字輸入,可以設定區域的行數和列數,常用的建構方法 | |
功能說明 | |
#JTextArea(String text) | 建立顯示指定初始字串的文字域 |
建立一個空的文字域
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(); } }
以上是Java聊天視窗的建立流程是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!