swing分割窗口控件JSplitPane使用方法詳解
本文為大家分享了JSplitPane的使用方法,供大家參考,具體內(nèi)容如下
1、swing分割窗口控件JSplitPane,用來將窗口分割成兩個部分?!?
2、分割后的窗口每個窗口只能放一個控件,想要方多個控件的話,可以在上面方一個JPane面板,這樣就可以方多個控件。swing分割窗口控件JSplitPane,用來將窗口分割成兩個部分。JSplitPane提供兩個常數(shù)讓你設(shè)置到底是要垂直分割還是水平分割。這兩個常數(shù)分別是:HORIZONTAL_SPIT,VERTICAL_SPLIT
3、使用方法:
①、setDividerSize(int size)設(shè)置分割條的大小。
②、getDividerSize()得到分割條的大小。
③、setDividerLocation(int size)按照百分比設(shè)置分割條的位置。
④、getOrientation獲得方向。
4、構(gòu)造方法
JSplitPane():建立一個新的JSplitPane,里面含有兩個默認(rèn)按鈕,并以水平方向排列,且沒有Continuous Layout功能。
JSplitPane(int newOrientation):建立一個指定水平或垂直方向切割JSplitPane,但沒有Continuous Layout功能。
JSplitPnae(int newOrientation,boolean newContinuousLayout):建立一個指定水平或垂直方向切割的JSplitPane,且指定是否具有Continuous Layout功能。
JSplitPane(int newOrientation,boolean newContinuousLayout,Component
newLeftComponent,Component newRightComponent):建立一個指定水平或垂直方向切割的JSplitPane,且指定顯示區(qū)所要顯示的組件,并設(shè)置是否Continuous Layout功能。
JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):
建立一個指定水平或垂直方向切割的JSplitPane,且指定顯示區(qū)所要顯示的組件,但沒有Continuous Layout功能 。
上面所說的Continuous Layout意思是指當(dāng)你拖曳切割面版的分隔線時,窗口內(nèi)的組件是否會隨著分隔線的拖曳而動態(tài)改變大小。newContinuousLayout是一個boolean值,若設(shè)為true,則組件大小會隨著分隔線的拖曳而一起改動;若設(shè)為false,則組件大小在分隔線停止改動時才確定。你也可以使用JSplitPane中的setContinuousLayout()方法來設(shè)置此項目。
5、實例
package swing;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JFrame;
import javax.swing.JSplitPane;
import javax.swing.JPanel;
public class MainFrame extends JFrame {
/**
*
*/
JSplitPane jSplitPane1 = new JSplitPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
private static final long serialVersionUID = 1L;
public static void main(String[] args){
new MainFrame();
}
public void myinit(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)定窗體關(guān)閉后自動退出進(jìn)程
this.setSize(800,600);//設(shè)定窗體的默認(rèn)尺寸
this.setExtendedState(JFrame.MAXIMIZED_BOTH);//設(shè)定窗體狀態(tài)為屏幕最大化,即全屏尺寸。
this.setVisible(true);//顯示窗體
this.jSplitPane1.setDividerLocation(0.7);//設(shè)定分割面板的左右比例(這時候就生效了,如果放在setVisible(true)這據(jù)之前就不會有效果。)
this.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
jSplitPane1.setDividerLocation(0.7);
}
});
}
public MainFrame() {
try {
jbInit();
myinit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);
jSplitPane1.add(jPanel1, JSplitPane.LEFT);
jSplitPane1.add(jPanel2, JSplitPane.RIGHT);
jSplitPane1.setEnabled(false);
jSplitPane1.setOneTouchExpandable(true);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript Window窗口對象屬性和使用方法
- javascript+html5+css3自定義彈出窗口效果
- JavaScript實現(xiàn)單擊網(wǎng)頁任意位置打開新窗口與關(guān)閉窗口的方法
- JS簡單實現(xiàn)父子窗口傳值功能示例【未使用iframe框架】
- Vue.js仿微信聊天窗口展示組件功能
- JS檢測window.open打開的窗口是否關(guān)閉
- 使用Ajax與服務(wù)器(JSON)通信實例
- AngularJS通過$http和服務(wù)器通信詳解
- AngularJS ngModel實現(xiàn)指令與輸入直接的數(shù)據(jù)通信
- 如何利用js在兩個html窗口間通信
相關(guān)文章
Java實現(xiàn)將文件或者文件夾壓縮成zip的詳細(xì)代碼
這篇文章主要介紹了Java實現(xiàn)將文件或者文件夾壓縮成zip的詳細(xì)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11
基于Spring Boot不同的環(huán)境使用不同的配置方法
下面小編就為大家分享一篇基于Spring Boot不同的環(huán)境使用不同的配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Spring如何利用@Value注解讀取yml中的map配置
這篇文章主要介紹了Spring如何利用@Value注解讀取yml中的map配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
使用WebSocket實現(xiàn)即時通訊(一個群聊的聊天室)
這篇文章主要為大家詳細(xì)介紹了使用WebSocket實現(xiàn)即使通訊,實現(xiàn)一個群聊的聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
SpringBoot如何實現(xiàn)持久化登錄狀態(tài)獲取
這篇文章主要介紹了SpringBoot 如何實現(xiàn)持久化登錄狀態(tài)獲取,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Lombok的詳細(xì)使用及優(yōu)缺點總結(jié)
最近在學(xué)Mybatis,接觸到了Lombok的使用,所以寫一篇文章記錄一下,包括lombok的安裝及使用優(yōu)缺點,感興趣的朋友跟隨小編一起看看吧2021-07-07
SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析
這篇文章主要介紹了SpringBoot中的@ControllerAdvice使用方法詳細(xì)解析, 加了@ControllerAdvice的類為那些聲明了@ExceptionHandler、@InitBinder或@ModelAttribute注解修飾的 方法的類而提供的專業(yè)化的@Component,以供多個 Controller類所共享,需要的朋友可以參考下2024-01-01

