Java 将scrollpane添加到包含另一个面板的面板中
我有一个面板drawSomething来画一些东西,我需要它的大小是大的,我在我的框架中有另一个面板来放这个面板drawSomething,所以,我需要在面板周围放一个滚动窗格,我怎么做 以下是我的示例代码:Java 将scrollpane添加到包含另一个面板的面板中,java,swing,jpanel,jscrollbar,Java,Swing,Jpanel,Jscrollbar,我有一个面板drawSomething来画一些东西,我需要它的大小是大的,我在我的框架中有另一个面板来放这个面板drawSomething,所以,我需要在面板周围放一个滚动窗格,我怎么做 以下是我的示例代码: import java.awt.Color; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; public class myFrame extends JFra
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class myFrame extends JFrame{
public static void main(String[] args) {
myFrame mf = new myFrame();
mf.setSize(400,400);
mf.setVisible(true);
mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mf.setLayout(null);
JPanel panel1 = new JPanel();
panel1.setBackground(Color.yellow);
JPanel drawSomething = new JPanel();
panel1.setBounds(100, 100, 200, 200);
drawSomething.setSize(500, 500);
drawSomething.setBackground(Color.BLACK);
panel1.add(drawSomething);
JScrollPane scroll = new JScrollPane(panel1);
mf.add(scroll);
}
}
panel1.addnew JScrollPanedrawSomething?通过选择布局mf.setLayoutnull,null布局将不会帮助启动;这是首先要解决的问题。查看如何使用LayoutManager并修复此问题。接下来,考虑使用java标准类名MyFrimk,而不是MyFrror。一旦你有了一个布局集,然后开始按照你的需要一个一个地添加组件。而且,在这种情况下,你甚至不需要将你的类扩展到JFrame。我认为最好直接将您的框架初始化为JFrame的实例,因为您并没有向子类“myFrame”添加任何内容。这里的描述和代码之间存在差异