java 中如何在jpanel 中添加 scroll panel 面板

是在jpanel中加不是container中加

解决方案1:

你的逻辑错误,应该是在ScrollPane中添加JPanel。


ScrollPane sp = new ScrollPane (new JPanel());
this.add (sp);

 

解决方案2:

ScrollPane sp = new ScrollPane();
sp.add (new JPanel());
this.add (sp);

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-11

import java.awt.*;

import javax.swing.*;

public class JScrollPaneTest extends JFrame{

public JScrollPaneTest()

{

JPanel jp=new JPanel();

ScrollPane sp=new ScrollPane();

jp.add(sp);

setBounds(100,100,300,200);

setVisible(true);

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

new JScrollPaneTest();

}


}

追问

这个代码运行结果还是没有滑动条的,我先前遇到的就是这种滑动条加不上去的问题。

追答

import java.awt.*;
import javax.swing.*;
public class JScrollPaneTest extends JFrame{
public JScrollPaneTest()
{
Container c=getContentPane();
JPanel jp=new JPanel();
JTextArea ta=new JTextArea(20,50);
ScrollPane sp=new ScrollPane();
c.add(jp);
jp.add(sp);
sp.add(ta);
sp.setSize(300,180);
setBounds(100,100,300,200);
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new JScrollPaneTest();
}

}

本回答被提问者和网友采纳
第2个回答  2015-08-02
JPanel panel = new JPanel();
JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane);
ScrollPane scrollPane_1 = new ScrollPane();
panel.add(scrollPane_1);
第3个回答  2013-06-19
把一楼的jp.add(sp);改为sp.add(jp)试试

java swing编程问题:一个jframe中添加一个jpanel后,为jpanel添加一个...
JScrollPane scrollPane=new JScrollPane(comp);\/\/comp是需要加滑动滚条的组件 比如JTextArea jta=new JTextArea();然后JScrollPane scrollPane=new JScrollPane(jta);这样当内容多时jta右边就会出现滚动条了 我QQ821722142

怎样给jpanel添加上下滚动条?
用JScrollPane可以哈\\x0d\\x0aJScrollPane pane = new JScrollPane(JPanel); \\x0d\\x0a原来的 add(JPanel)改为add(pane)\\x0d\\x0a\\x0d\\x0a给你个例子哈。。\\x0d\\x0a\\x0d\\x0aimport java.awt.Dimension;\\x0d\\x0a\\x0d\\x0aimport javax.swing.JFrame;\\x0d\\x0aimport javax.swing.JLabel...

java swing jtable怎么和scrollpane使用
参考代码 import java.awt.BorderLayout;import java.awt.event.*;import javax.swing.*;public class FrameDemo extends JFrame {JTable jtb; FrameDemo() {String[] title = {"name","interest"};String[][] data= {{"张三","羽毛球"},{"李四","乒乓球"},{"张三","羽毛球"},{"李四...

java关于JPanel的添加滚动条的问题!
首先保证里面的JPanel的布局是自上而下的,BoxLayout即可。pane.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);pane.setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

JPanel 和 JScrollPane 的问题。
JPanel 本身并不支持它可以被添加到JScrollPane 中。JScrollPane 中的组件需要实现一个接口,那就是javax.swing.Scrollable 只要是实现了这个接口的组件,才会默认被JScrollPane 支持并出现滚动条。但是你可以强制设置让它出现滚动条。那就是里头的JPanel 设置它的 setPerferedSize方法。这个方法将触发滚动条的...

Java的JPanel(流式布局)添加到JScrollPane滚动窗格后垂直滚动条不正常且...
首先你的jscrollPane要这样设置:JscrollPane.getHorizontalScrollBar().setAutoscrolls(false);JscrollPane.getVerticalScrollBar().setAutoscrolls(true);这样你的滚动条就只会显示竖线。接下来是关键:将jp.setlayout(new ModifiedFlowLayout());这个布局是继承flowlayout的。也就是说将布局改为下面这个布局就...

java中ScrollPane 如何使用,最好有个小例子,简单直接的
java中JScrollPane 通常搭配JTable或者JTextArea使用 搭配JTextArea时,把文本域放入到JScrollPane 中,当文本超过文本域时可以拖动JScrollPane 的滚动条方便的查看更多数据 搭配JTabel时,把表格放到JScrollPane 中,除了可以看到更多的数据, 还能显示出表格的列标题 效果图 具体代码 import java.awt.BorderLayout;...

JAVA 我在JPanel上放了一个JScrollPane,JScrollPane中放了JTree,但是...
嵌套层次有点多,这样就行了:JFrame jf = new JFrame("测试树");jf.getContentPane().add(jsp, BorderLayout.CENTER); JTree tree= new JTree();\/\/ 构建树 jf.setSize(new JScrollPane(tree), 600);\/\/ jf.setDefaultCloseOperation(3);jf.setVisible(true);

Java swing怎么搞出滚动条
增加滚动条的方法:\/\/分别设置水平和垂直滚动条总是出现 scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);scroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);\/\/分别设置水平和垂直滚动条自动出现 \/\/scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL...

Java怎样把表格放在绝对定位的面板上
;\/\/必须把JTable放在JScrollPane中,否则没有滚动条且表头无法正常显示 scrollPane.setBounds(60,20,300,100);\/\/然后设置scrollPane的bounds,使用null布局,必须在代码中设置组件的位置和大小 JPanel pane=new JPanel(null); pane.add(scrollPane);\/\/把scrollPane添加到null布局的面板中 this....

相似回答