Как скрыть / показать SplitPane в графическом интерфейсе на основе Java Swing - PullRequest
3 голосов
/ 12 марта 2012

Мне нужно скрыть панель разреза в моем коде, как показано на рисунках ниже.Я не знаю, как сделать сплит-панель скрыть / показать в базовом графическом интерфейсе Java Swing.В моем коде я делю разделенную панель на две горизонтальные части, а затем делю правый компонент разделенной панели на две вертикальные части.Я хочу скрыть / показать левую часть разделенной панели.

enter image description here

enter image description here

import java.awt.*;
import java.awt.Event.*;
import javax.swing.*;

class DemoSwingDesign extends JFrame {

    boolean b = false;
    public static JSplitPane splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true);
    public static JSplitPane splitpane1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true);

    public DemoSwingDesign() {
        JFrame frame = new JFrame("Split Pain");
        frame.setSize(300, 300);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setDefaultLookAndFeelDecorated(true);
        frame.setLayout(new GridLayout());
        //Defining Split Pane


        //splitpane size
        splitpane.setDividerLocation(150);
        splitpane1.setDividerLocation(90);
        splitpane.setContinuousLayout(true);
        splitpane.setOneTouchExpandable(true);

        JTabbedPane jtp = new JTabbedPane();
        jtp.setName("XRay");

        JTabbedPane jtp1 = new JTabbedPane();
        JTabbedPane jtp2 = new JTabbedPane();
        jtp1.setName("Set");
        jtp2.setName("OK");

        JPanel jp = new JPanel(new BorderLayout());

        JComponent Lefttabbedpane = new JTabbedPane();
        jp.add(jtp, -1);
        Lefttabbedpane = jtp;
        splitpane.add(splitpane1, "right");

        splitpane.setLeftComponent(new JScrollPane(jtp2));
        splitpane1.setTopComponent(new JScrollPane(jtp1));
        splitpane1.setBottomComponent(new JScrollPane(Lefttabbedpane));
        frame.add(splitpane);
        frame.setVisible(true);
    }
}

class Temp {

    public static void main(String args[]) {
        DemoSwingDesign d = new DemoSwingDesign();
    }
}

1 Ответ

1 голос
/ 12 марта 2012

Может быть, вы ищете это: JSplitPane.setOneTouchExpandable (логическое)

...