swing分割窗口控件JSplitPane使用方法詳解
本文為大家分享了JSplitPane的使用方法,供大家參考,具體內容如下
1、swing分割窗口控件JSplitPane,用來將窗口分割成兩個部分。
2、分割后的窗口每個窗口只能放一個控件,想要方多個控件的話,可以在上面方一個JPane面板,這樣就可以方多個控件。swing分割窗口控件JSplitPane,用來將窗口分割成兩個部分。JSplitPane提供兩個常數讓你設置到底是要垂直分割還是水平分割。這兩個常數分別是:HORIZONTAL_SPIT,VERTICAL_SPLIT
3、使用方法:
①、setDividerSize(int size)設置分割條的大小。
②、getDividerSize()得到分割條的大小。
③、setDividerLocation(int size)按照百分比設置分割條的位置。
④、getOrientation獲得方向。
4、構造方法
JSplitPane():建立一個新的JSplitPane,里面含有兩個默認按鈕,并以水平方向排列,且沒有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ū)所要顯示的組件,并設置是否Continuous Layout功能。
JSplitPane(int newOrientation,COmponent newLeftComponent,COmponent newRightComponent):
建立一個指定水平或垂直方向切割的JSplitPane,且指定顯示區(qū)所要顯示的組件,但沒有Continuous Layout功能 。
上面所說的Continuous Layout意思是指當你拖曳切割面版的分隔線時,窗口內的組件是否會隨著分隔線的拖曳而動態(tài)改變大小。newContinuousLayout是一個boolean值,若設為true,則組件大小會隨著分隔線的拖曳而一起改動;若設為false,則組件大小在分隔線停止改動時才確定。你也可以使用JSplitPane中的setContinuousLayout()方法來設置此項目。
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);//設定窗體關閉后自動退出進程 this.setSize(800,600);//設定窗體的默認尺寸 this.setExtendedState(JFrame.MAXIMIZED_BOTH);//設定窗體狀態(tài)為屏幕最大化,即全屏尺寸。 this.setVisible(true);//顯示窗體 this.jSplitPane1.setDividerLocation(0.7);//設定分割面板的左右比例(這時候就生效了,如果放在setVisible(true)這據之前就不會有效果。) 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); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Spring?Boot緩存實戰(zhàn)之Redis?設置有效時間和自動刷新緩存功能(時間支持在配置文件中配置)
這篇文章主要介紹了Spring?Boot緩存實戰(zhàn)?Redis?設置有效時間和自動刷新緩存,時間支持在配置文件中配置,需要的朋友可以參考下2023-05-05java循環(huán)遍歷無規(guī)則json的方式:gson、fastjson、orgjson
這篇文章主要介紹了java循環(huán)遍歷無規(guī)則json的方式:gson、fastjson、orgjson,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08springboot2.5.6集成RabbitMq實現Topic主題模式(推薦)
這篇文章主要介紹了springboot2.5.6集成RabbitMq實現Topic主題模式(推薦),pom.xml引入依賴和常量類創(chuàng)建,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-11-11