如何在 Java 中建立巢狀 JSplitPane?


首先,讓我們建立三個元件 -

JComponent one = new JLabel("Label One");
one.setBorder(BorderFactory.createLineBorder(Color.yellow));
JComponent two = new JLabel("Label Two");
two.setBorder(BorderFactory.createLineBorder(Color.orange));
JComponent three = new JLabel("Label Three");
three.setBorder(BorderFactory.createLineBorder(Color.blue));

現在,我們將分割一個和兩個元件。

JSplitPane split1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, one, two);
split1.setDividerLocation(0.5);
split1.setDividerSize(2);

之後,上述分割的面板將與第三個元件進行分割,使其巢狀 -

JSplitPane split2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,split1, three );
split2.setDividerLocation(0.9);
split2.setDividerSize(2);

以下是建立巢狀 JSplitPane 的示例 -

示例

package my;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;
public class SwingDemo {
   public static void main(String[] a) {
      JFrame frame = new JFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      JComponent one = new JLabel("Label One");
      one.setBorder(BorderFactory.createLineBorder(Color.yellow));
      JComponent two = new JLabel("Label Two");
      two.setBorder(BorderFactory.createLineBorder(Color.orange));
      JComponent three = new JLabel("Label Three");
      three.setBorder(BorderFactory.createLineBorder(Color.blue));
      JSplitPane split1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, one, two);
      split1.setDividerLocation(0.5);
      split1.setDividerSize(2);
      JSplitPane split2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,split1, three );
      split2.setDividerLocation(0.9);
      split2.setDividerSize(2);
      frame.add(split2,BorderLayout.CENTER);
      frame.setSize(550, 250);
      frame.setVisible(true);
   }
}

輸出

更新於: 2019 年 7 月 30 日

212 次瀏覽

開啟你的 職業

透過完成本課程獲得認證

開始吧
廣告
© . All rights reserved.