java - JInternal 框架上的嵌套 JSplitPane

标签 java swing jinternalframe jsplitpane

通过单击“添加 Int Frame”按钮,我将 JInternalFrame 绘制在一个 tabbedPane 上,在这个 HORIZONTAL 分隔的 JSplitPane 的右侧。

enter image description here

在此 InternalFrame 上,我可以通过单击“添加拆分 Pane ”按钮来添加嵌套的 JSplitPane。

嵌套的 JSplitPanes 仅在我移动 InternalFrame 时出现:如何在按下按钮时立即显示 JSplitPanes?

这是我的代码

public class MultiSplit extends javax.swing.JFrame {

JInternalFrame jif;
JSplitPane jsp1,jsp2,jsp3,jsp4,jsp5, jsp6;
JTextArea textArea1, textArea2, textArea3, textArea4, textArea5, textArea6;
int click = 0;

public MultiSplit() {
    initComponents();
    setLocationRelativeTo(null);
}

private void AddIntFramesMousePressed(java.awt.event.MouseEvent evt) {                                      
    click = 0;        
    jif = new JInternalFrame();
    jPanel1.add(jif);
    jif.setSize(750, 600);
    jif.setResizable(true);
    jif.setClosable(true);
    jif.setMaximizable(true);
    jif.setIconifiable(true);
    jif.setVisible(true);
}                   

private void AddPanesButtonMousePressed(java.awt.event.MouseEvent evt) {                                            
    click++;      
    if(click ==1){
    textArea1 = new JTextArea();
    textArea2 = new JTextArea();

    jsp1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, textArea1, textArea2);
    jsp1.setVisible(true);       
    jsp1.setResizeWeight(0.75);
    jsp1.setDividerSize(2);
    jif.add(jsp1);
    }        
    else if(click==2){
      textArea3 = new JTextArea();  
      jsp2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jsp1, textArea3);
      jsp2.setVisible(true);
      jsp2.setResizeWeight(0.80);
      jsp2.setDividerSize(2);
      jif.add(jsp2);
    }        
    else if(click==3){
      textArea4 = new JTextArea();  
      jsp3 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, jsp2, textArea4);
      jsp3.setVisible(true);
      jsp3.setResizeWeight(0.85);
      jsp3.setDividerSize(2);
      jif.add(jsp3);
    }
   }
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            new MultiSplit().setVisible(true);
        }
    });
  }
}

JSplitPanes plotted

最佳答案

How to Use Internal Frames :“通常,您将内部框架添加到桌面 Pane 。”无论您的 JInternalFrame 是否在 JDesktopPane 上,您仍然需要 pack() 内部框架,就像封闭的 Window.

关于java - JInternal 框架上的嵌套 JSplitPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531311/

相关文章:

java - JInternalPanes 的分层顺序

java - JInternalFrame选择

java - 将 Intent 从一个应用程序广播到另一个应用程序

java - 正确的播放模板文件在 Scala IDE 中显示验证错误

java - 如何防止多次运行同一个 JInternalFrame

java - 更改 JTabbedPane 的选项卡时,关闭在另一个 JInternalFrame 中打开的已打开的 JInternalFrame

java - 如何使用 Firebase 停止正在进行的电话身份验证请求

java - WildFly 14 - java.lang.ClassCastException : org. dom4j.DocumentFactory 无法转换为 org.dom4j.DocumentFactory

java - 使用 Java 创建自定义 UI 元素

java - 如何制作一个无限的 jscrollpane?