在下面的代码中,我将JScrollPane添加到传递JPanel引用的框架中。但是,滚动条不会出现。密码有什么问题吗?
import java.awt.Component;
import java.io.IOException;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.ScrollPaneConstants;
import javax.swing.tree.DefaultMutableTreeNode;
public class SampleSwing extends JFrame{
public static void main(String[] args) throws IOException{
new SampleSwing().go();
}
private void go() throws IOException {
JPanel a = new JPanel();
a.setLayout(new BoxLayout(a, BoxLayout.Y_AXIS));
JScrollPane pane1 = new JScrollPane(a);
pane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
pane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
getContentPane().add(pane1);
JButton but = new JButton("Hello");
but.setAlignmentX(Component.CENTER_ALIGNMENT);
a.add(but);
JEditorPane pane = new JEditorPane();
a.add(pane);
JComboBox list = new JComboBox(new String[]{"One", "Two"});
list.setAlignmentX(Component.CENTER_ALIGNMENT);
a.add(list);
DefaultMutableTreeNode node = new DefaultMutableTreeNode("One");
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Two");
node.add(node1);
node1.add(new DefaultMutableTreeNode("Three"));
node1.add(new DefaultMutableTreeNode("Four"));
JTree tree = new JTree(node);
a.add(tree);
getContentPane().add(a);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
}
}发布于 2014-01-05 06:19:28
将a和它的JScrollPane添加到contentPane中。不要通过添加a,就可以从滚动窗格中删除它,并掩盖滚动窗格。只添加滚动窗格。
https://stackoverflow.com/questions/20930780
复制相似问题