我试图将2 JTextPane添加到一个scrollPane中。但是它不会滚动。我究竟做错了什么?
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(402, 211, 178, 193);
frame.getContentPane().add(scrollPane);
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
panel.setLayout(null);
JTextPane textPane_branding = new JTextPane();
textPane_branding.setBounds(98, 0, 78, 191);
panel.add(textPane_branding);
JTextPane textPane_trunk = new JTextPane();
textPane_trunk.setBounds(0, 0, 88, 191);
panel.add(textPane_trunk);
最佳答案
我不太确定您要在这里实现什么。如果要使两个JTextPane
都可滚动,则需要将每个JScrollPane
放入其自己的JTextPane
。看起来像这样:
JTextPane textPane_branding = new JTextPane();
JScrollPane scroll_branding = new JScrollPane(textPane_branding);
scroll_branding.setBounds(98, 0, 78, 191);
panel.add(scroll_branding);
JTextPane textPane_trunk = new JTextPane();
JScrollPane scroll_trunk = new JScrollPane(textPane_trunk);
scroll_trunk.setBounds(0, 0, 88, 191);
panel.add(scroll_trunk);
如果要将两个
JPanel
都合并到一个可以滚动的Bounds
中,我想知道为什么将固定JScrollPane
设置为JTextPanes
和JScrollPanes
。这使滚动在这里变得荒谬。这就是为什么JPanel
无法与没有布局且使用固定边界的窗格一起使用的原因。这也是很糟糕的做法。因此,我建议在这里使用
setPreferredSize
中的布局管理器,并在JTextPanes
中使用JScrollPane
来定义所需的尺寸。然后您的将开始工作。JScrollPane scrollPane = new JScrollPane();
//scrollPane.setBounds(402, 211, 178, 193); // Don't do this!
frame.getContentPane().add(scrollPane);
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
//panel.setLayout(null); // Use a Layout Manager
JTextPane textPane_branding = new JTextPane();
textPane_branding.setPreferredSize(new Dimension(78,191));
//textPane_branding.setBounds(98, 0, 78, 191);
panel.add(textPane_branding);
JTextPane textPane_trunk = new JTextPane();
textPane_trunk.setPreferredSize(new Dimension(88,191));
//textPane_trunk.setBounds(0, 0, 88, 191);
panel.add(textPane_trunk);
关于java - 将2个JTextPane添加到一个scrollPane中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35038130/