- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试在 Netbeans 6.9.1 中使用 JSplitPane,但由于某种原因无法正确配置它。例如。我在 jframe 中添加一个 jtree 和一个 jtable。然后我使用“包含在 splitpane 中”。然后我将方向设置为垂直(从水平)。
问题是,当我尝试调整分隔线位置时,无法将其放置在我想要的位置。要么一路上涨或一直向下。手动扩展一侧后,我得到了接近我想要的格式。我尝试做同样的事情,并在相同的 jform 中创建第二个 jsplitpane。然后我尝试将两个 jsplitpane 包含到另一个 splitpane 中,但 splitpane 的顺序颠倒了。我做错了什么或者分割面板不能正常工作吗?
谢谢
更新
public class Testing extends javax.swing.JFrame {
/** Creates new form Testing */
public Testing() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jSplitPane1 = new javax.swing.JSplitPane();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jScrollPane1 = new javax.swing.JScrollPane();
jTree1 = new javax.swing.JTree();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setName("Form"); // NOI18N
jSplitPane1.setDividerLocation(5);
jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
jSplitPane1.setName("jSplitPane1"); // NOI18N
jScrollPane2.setName("jScrollPane2"); // NOI18N
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.setName("jTable1"); // NOI18N
jScrollPane2.setViewportView(jTable1);
jSplitPane1.setLeftComponent(jScrollPane2);
jScrollPane1.setName("jScrollPane1"); // NOI18N
jTree1.setName("jTree1"); // NOI18N
jScrollPane1.setViewportView(jTree1);
jSplitPane1.setRightComponent(jScrollPane1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(258, 258, 258))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jSplitPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
最佳答案
如果您希望以相反的方式使用它们,只需在选择将它们包含在 JSplitPane 中之前交换树和表的位置即可。话虽如此,如果 NetBeans 允许您选择左/右组件,即使在完成此操作后,我也不会感到惊讶。
对于分隔符,我通常使用 setDividerLocation(Double location)
方法,该方法采用 0.0 到 1.0 之间的值。这是分隔线应位于的位置的百分比。
您使用的方法 setDividerLocation(intlocation)
设置像素值中的绝对位置,我怀疑 5 并不是您真正想要的。它还不允许您将分隔线设置到一个会使组件小于其首选大小的位置,而当您将其设置为 5 时,这肯定会发生。
因此,如果您的屏幕高度为 400 像素,并且您想将其在中间分割,请将分隔线设置为 200。
推荐阅读:How to Use Split Panes来自 Java 教程。
关于java - Netbeans 中的 jsplitpane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931003/
下面是使用多个嵌套的 JSplitPanes 创建的简单布局的代码。 import java.awt.Color; import java.awt.Dimension; import java.awt
StackExchange 社区您好, 我对这个 JSplitPane 束手无策,我试图将其放入我的框架中,它位于我框架的右侧,而不是填充它或至少位于左侧。如果有人能帮助我解决这个问题,我将非常感激。
我有一个 Java GUI 程序,其中有一个 JSplitPane 来划分内容。 JSplitPane 的左侧是一个带有许多选项卡的 JTabbedPane - 一个非常复杂的布局。当左侧达到一定的复
只是想在屏幕上画一些线。 我已检查并确保所有相关代码都在运行 我已尝试调用 repaint(并确保其正在运行) 由于这是一个 JSplitPane,因此布局必须是 JSplitPane 布局 我正在设
我在通过鼠标调整 JSplitPane 的权重大小获取值时遇到一些问题。 这是我的代码: splitpane.setResizeWeight(0.1); splitpane.addPropertyCh
我在让 JSplitPane 按照我想要的方式工作时遇到了一些麻烦。 首先,我希望它完全填充其容器(JFrame),而不是由分割 Pane 内的组件确定其大小。其次,当我调整容器大小时,它不会在 JS
我遇到一个问题,我的 JSplitPane 有两个组件,左边是 JPanel,右边是第二个 JSplitPane包含JTextArea。 问题是,我的程序开始聚焦第二个 JSplitPane 的顶部(
我制作了一个 Java swing 应用程序。我的主类完成了整个 SwingUtilities.invokeLater(new Runnable() 的工作。 我的第二堂课,里面的一切都是我用过的:
我似乎无法通过调用 setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); 来更改 JSplitPane 的调整大小光标; 有谁知道如何解决这个问题?我正在使用 N
我有一个包含两个部分的 JSplitPane。我想在单击按钮时隐藏正确的部分,并在再次单击同一个按钮时将其恢复。 这是我目前所拥有的: private void jButton1ActionPerfo
在我的应用程序中,我有一个显示 JSplitPane 的 JFrame,拆分为 VERTICAL_SPLIT。顶部显示一个JLabel,底部显示一个JInternalFrame。出现两个问题。 正在显
我有一个垂直拆分的 JSplitPane,当我向下移动分隔线时,它会移动底部组件并且底部被切断。有没有一种方法可以指定 JSplitPane 的调整大小行为,以便(底部组件的)顶部被拆分 Pane 覆
我在一个 JSplitPane 中组合了两个 JPanel。用户应该能够非常自由地移动 split-pane-divider,但分隔线不能太大(最好只有 1px)。 有没有办法将 dividerSiz
我不知道为什么,但 slider 只会向左移动,甚至锁定新位置。它使用 NestedJSplitPane 教程的修改版本以及 JTree 和 JEditorPane。我的猜测是,JEditorPane
我正在编写一个工具,用于在文本文件上执行任务。该任务需要一些时间才能执行,因此我制作了一个面板来显示文件名和进度百分比。用户可以在一个或多个文件上运行该任务,因此我需要为每个文件显示一个面板。 在帮助
我的 JSplitPane 有问题,我将组件设置为 JSplitPane 但没有显示任何内容。代码如下: /**__COMPONENT OBJECTS__**/ JFrame frame =
我想为我的 JSplitPane 制作自定义且更大的箭头,并在向上和向下箭头之间留出一些空间。 我当前的 JSplitPane 图像 最佳答案 I just have some problem wit
我有一个 JSPlitPane,它们之间有 50% 的分隔线。这样就可以正常工作了。 但是,当我在右侧添加一些 JLabels 时,jsplitpane 会忽略我的 50% 分隔符,左侧 Pane 会
我想要一个 jsplitPane 并在运行我的程序时用左组件交换右组件。我将划分位置设置为 0.2 左右。当我交换左分量和右分量并将分割位置设置为 0.8 时; jSplitPane 有问题。它被锁定
我找到了这个例子: http://java2s.com/Open-Source/Java-Document-2/Swing/petersoft-java-style-2/com/petersoft/w
我是一名优秀的程序员,十分优秀!