【发布时间】:2018-12-06 03:50:59
【问题描述】:
我所追求的当前布局只是一个水平拆分窗格,左侧是复选框,右侧将被输出。在用户检查所有想要的项目后,我最终会在左侧添加一个提交按钮,我将在右侧显示结果。当前的问题是我什至无法显示背景颜色,并且复选框正在添加不稳定。在某些时候,我只能在左侧面板中看到一个复选框,我不知道为什么,我还将每个容器都设置为可见,但仍然看不到它。我将它们添加到 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();
}
}
【问题讨论】:
-
在
cb.addBoxes();之后移动cb.setVisible(true); -
谢谢,所以我只是得到最后一个复选框,复选框 9 显示,但它没有分屏或显示颜色:(
-
addBoxes只是将JCheckBoxs 添加到JFrame,它使用BorderLayout,它只能在每个可用位置管理一个组件