- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我所追求的当前布局只是一个水平分割 Pane ,其中左侧是复选框,右侧将输出。在用户检查所有想要的项目后,我最终将在左侧添加一个提交按钮,并将结果显示在右侧。当前的问题是我什至无法显示背景颜色,并且复选框正在添加不稳定的内容。在某些时候,我只能在左侧面板中看到一个复选框,我不确定为什么,而且我还将每个容器设置为可见,但仍然看不到它。我将它们添加到 addBoxes 函数中。
import java.awt.Color;
import java.util.ArrayList;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class CheckBox2 extends JFrame {
private ArrayList<JCheckBox> boxes = new ArrayList<JCheckBox>();
JLabel leftLabel;
JLabel rightLabel;
JSplitPane splitPane;
public CheckBox2() {
leftLabel = new JLabel();
rightLabel = new JLabel();
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JScrollPane(leftLabel), new JScrollPane(rightLabel) );
leftLabel.setBackground(Color.BLUE);
rightLabel.setBackground(Color.RED);
leftLabel.setVisible(true);
rightLabel.setVisible(true);
splitPane.setVisible(true);
add(splitPane);
}
void addBoxes() {
int i = 0;
for ( i = 0; i < 1; i++ ) {
add(new JCheckBox("word" + i ) );
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CheckBox2 cb = new CheckBox2();
cb.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
cb.setSize(340, 340);
cb.setVisible(true);
cb.addBoxes();
}
}
最佳答案
首先阅读 Laying Out Components Within a Container和 How to Use Split Panes两者都包含大量示例。
Swing 布局很懒惰。这意味着,除非您有意触发布局过程,否则任何更改都不会反射(reflect)在 UI 上(直到触发布局过程,例如调整窗口大小或使其首次可见)。
虽然您可以在要更改的容器上调用revalidate
和repaint
,但在您的情况下,只需最后调用setVisible
就会有相同的结果想要的效果
Thanks, so with that I'm just getting the last checkbox, checkbox 9 to show up but it's not giving split screen or showing color :(
这是因为 JFrame
默认情况下使用 BorderLayout
,它只允许在五个可用位置中的任何一个位置管理单个组件。相反,您需要将复选框添加到分割 Pane 中的容器之一。
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.util.ArrayList;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
public class CheckBox2 extends JFrame {
private ArrayList<JCheckBox> boxes = new ArrayList<JCheckBox>();
JSplitPane splitPane;
private JPanel leftPanel;
private JPanel rightPanel;
public CheckBox2() {
leftPanel = new JPanel(new GridBagLayout());
rightPanel = new JPanel(new GridBagLayout()) {
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
};
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, new JScrollPane(rightPanel));
leftPanel.setBackground(Color.BLUE);
rightPanel.setBackground(Color.RED);
add(splitPane);
addBoxes();
}
void addBoxes() {
int i = 0;
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = GridBagConstraints.REMAINDER;
for (i = 0; i < 10; i++) {
leftPanel.add(new JCheckBox("word" + i), gbc);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CheckBox2 cb = new CheckBox2();
cb.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
cb.pack();
cb.setLocationRelativeTo(null);
cb.setVisible(true);
}
}
关于SplitPane 中的 Java Swing 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53644381/
当我有一个透明的 SplitPane 时,设置 pickOnBounds=false 不起作用,我无法单击拆分 Pane 后面的按钮。我有一个带有 pickOnBounds=false 的透明 VBo
我想创建一个像这样的分割面板: 我怎样才能做到这一点。当我添加选项卡时,我只能将它们添加到以下位置:上、下、右、左。 这就是我所拥有的: 我该怎么做? 最佳答案 左侧面板应使用CardLayout
我有一个BorderPane 。在此 Pane 中,我将 HBox 设置为顶部有几个控件。在中心我有e SplitPane有两个 Canvas 。我想让鼠标移动到 BorderPane当它从Split
有没有办法让分割 Pane 中的分隔线透明? 我尝试了以下方法 .split-pane *.split-pane-divider { -fx-padding: 0 1 0 1; } 但它不起作用。 另
我尝试实现 here 中的标准示例,看起来像这样: SplitPane sp = new SplitPane(); final StackPane sp1 = new StackPane(); sp1
我一直在java swing中使用jsplit Pane ,我试图在一个主框架中设置水平和垂直分割 Pane ,首先将主框架划分为左侧面板和右侧面板,然后将右侧面板分为底部和右侧面板顶部面板。我成功地
这是一个交叉帖子:http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-January/016437.html 有时当我设置 SplitPan
如何实现整个 SplitPane 的比例调整? public class JfxSplitPaneTest extends Application { @Override public
我一直在使用 JPanels 等来构建我的 GUI。我现在工作的地方他们使用 SWT 来构建他们的 GUI。我有一个复合 Material ,我添加了一个窗框,根据模板的某些属性将窗框垂直或水平分割。
我已经对这个主题做了一些研究并找到了 a post that could’ve been relevant , 如果它只包含我想要的那种答案。我想移除 SplitPane 周围的边框,您在彼此中创建的
我的 .fxml 文件中有许多 Pane (这是我的 fxml 的早期版本: Javafx : SplitPane resize children )现在我想修复顶部分割 Pane 中的前两个元素我的
我喜欢一个 .fxml 文件,我在其中添加了一些 TitledPane,但我无法在应用程序中调整它们的大小。这是代码:
在底部,我有一个 AnchorPane,然后是一个 SplitPane。在左侧 Pane 中,我有一个 listView,根据所选的列表元素,右侧 Pane 会显示相应的内容。我这样做的方法是重叠 A
我有以下代码: public class JavaFxApplication2 extends Application { @Override public void start(St
我有一个 SplitPane,我需要将布局划分为 25% 和 75%。另外,我需要禁止在 25% 分割后向右侧拖动。但是我可以在 25% 的空间内拖动到任何程度。请帮忙。 最佳答案 SplitPane
我所追求的当前布局只是一个水平分割 Pane ,其中左侧是复选框,右侧将输出。在用户检查所有想要的项目后,我最终将在左侧添加一个提交按钮,并将结果显示在右侧。当前的问题是我什至无法显示背景颜色,并且复
自从从以前的 JavaFX 2.0 版本更新到 JavaFX 2.0 b36(Windows SDK(32 位)+ Netbeans 插件)后,SplitPane 控件不再按预期工作。 分隔线无法移动
我需要在应用程序启动时加载 JavaFX TreeView 数据。问题是节点lookup()方法总是返回null。 代码 public class Main extends Application {
我不知道如何在 JavaFX 8 SplitPane 上监听“Divider Repositioned”事件。这是一个简单的工作应用程序,只需要添加事件监听器。有人可以帮助我指出正确的方向吗? pub
我在我的 JSplitPane 中设置了 setOneTouchExpandable(true) 和 setEnabled(false) 以允许用户仅向左或向右展开。但我真正想要的是让左侧面板向左折叠
我是一名优秀的程序员,十分优秀!