954,554 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How to add scroll to jframe

Following is my program i need to add scroll to jframe and I have paint method in it

package other;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.ScrollPane;
import java.awt.Stroke;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;

import javax.swing.*;


public class MainDrawCycle extends JPanel implements ActionListener
{

JButton button;
JLabel label;
JTextField textField;
JScrollPane pane;
JPanel panel;
JFrame frame;
Container c;
static int val;
int xa,ya,xb,yb,x1,y1;
int xc,yc,xd,yd,xe,ye,xf,yf;
int lsb=0,msb=7;
char val1='A',val2='B';

// public MainDrawCycle(JFrame f)
// {
// pane=new //JScrollPane(f,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
// add(pane);
// }
public MainDrawCycle()
{

setLayout(null);

//frame=new JFrame();

// panel=new JPanel();
// pane=new //JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

textField=new JTextField();
label=new JLabel("Enter Clock value: ");
button=new JButton("Ok");

System.out.println("in const");
label.setBounds(300,550,80,20);
textField.setBounds(410,550,50,20);
button.setBounds(480,550,70,20);

//add(pane);
add(button);
add(textField);
add(label);
button.addActionListener(this);


}

public void paint(Graphics g)
{

xa=50;ya=60;xb=100;yb=60;x1=100;y1=520;
xc=100;yc=60;xd=100;yd=100;xe=100;ye=100;xf=150;yf=100;


g.setColor(Color.black);
g.drawLine(50,50,50,y1); //Y axis
//g.drawLine(20,500,x1,500); //X axis
g.drawString("CLK",xa-40 ,ya);
g.drawString("DATA", xa-40, 300);
g.drawString("["+msb+":"+lsb+"]", xa-40, 310);

Graphics2D g2d = (Graphics2D)g;
Stroke stroke=new BasicStroke(1f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,1f, new float[] {2f}, 0f);
Stroke drawingStroke = new BasicStroke(2);

for(int i=1;i<=val;i++)
{
g2d.setStroke(stroke);
Line2D line = new Line2D.Double(xb,yb,xb,500);
g2d.draw (line);
Line2D line2 = new Line2D.Double(xf,yf-50,xf,500);
g2d.draw (line2);
g2d.setStroke(drawingStroke);

if(x1

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

1. Post your code in [CODE] tags so we can read it.
2. frame.getContentPane().add(pane); the getContentPane() hasn't been required since Java 1.5
3. Never override paint(), override paintComponent instead.
4. Because your custom JPanel has no components in it Swing doesn't know how big it is, and probably has its size as 0,0 So the scroll pane won't do much. You may do better by setting your panel's size to a suitable value

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

Thank u very much

but i cant get how to use "frame.getContentPane().add(pane)"

I have jdk 1.6 version.

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

You can simply use frame.add(pane);

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

I was trying but still it is not working ..

It only show me scroll bar on frame but not working

can you pl's run my code...
Thank you...

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

Sorry, I don't have time to run your code today. What exactly do you mean by "but not working"? Specify what you expected to see and what you actually saw.

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

I want to add scroll to jpanel which is on frame

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

Yes, you made that clear with your first post.

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 


Yes i know that but still i didn't see the scroll bar on jframe...

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

What sizes did you set?

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

Yes i know that but still i didn't see the scroll bar on jframe...

there are three possible issues

- contents Size that you put ot the JScrollPane is lover than JViewPort View

- you nothing put to the JScrollPane

- change XXX_SCROLLBAR_AS_NEEDED to XXX_SCROLLBAR_AS_ALLWAYS

mKorbel
Veteran Poster
1,141 posts since Feb 2011
Reputation Points: 480
Solved Threads: 224
 


public static void main(String[] args)
{
JFrame frame = new JFrame();
JScrollPane pane=new JScrollPane(new MainDrawCycle(),JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
frame.getContentPane().add(pane);
// new MainDrawCycle(frame);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(900,700);
frame.setVisible(true);


this size i set

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

Again I post my program but still scroll bar didn't added

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.ScrollPane;
import java.awt.Stroke;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import javax.swing.*;

public class MainDrawCycle extends JPanel implements ActionListener,Runnable 
{

	JButton button;
	JLabel label;
	JTextField textField;
	JScrollPane pane;
	JPanel panel;
	JFrame frame;
	Container c;
	static int val;
	int xa,ya,xb,yb,x1,y1;
	int xc,yc,xd,yd,xe,ye,xf,yf;
	int lsb=0,msb=7;
	char val1='A',val2='B';
	Thread runner=null;
	public MainDrawCycle() 
	{
		setLayout(null);
		//setSize(600,600);
		setBackground(Color.green);
		textField=new JTextField();
		label=new JLabel("Enter Clock value: ");
		button=new JButton("Ok");

		System.out.println("in const");
		label.setBounds(280,550,120,20);
		textField.setBounds(410,550,50,20);
		button.setBounds(480,550,70,20);

		add(button);
		add(textField);
		add(label);
		button.addActionListener(this);


	}

	public void paintComponent(Graphics g) 
	{

		xa=50;ya=60;xb=100;yb=60;x1=100;y1=520;
		xc=100;yc=60;xd=100;yd=100;xe=100;ye=100;xf=150;yf=100;

		Font f=new Font("serif", Font.BOLD,15);
		
		g.setColor(Color.black);
		g.drawLine(50,50,50,y1);  			// Draw Y axis.
		g.drawString("CLK",xa-40 ,ya);
		g.drawString("DATA", xa-40, 300);
		g.drawString("["+msb+":"+lsb+"]", xa-40, 312);
		
		
		g.setFont(f);
		g.setColor(Color.red);
		g.drawString("Timing Analysis", 400, 12);


		Graphics2D g2d = (Graphics2D)g;
		Stroke stroke=new BasicStroke(1f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,1f, new float[] {2f}, 0f);
		Stroke drawingStroke = new BasicStroke(2);

		for(int i=1;i<=val;i++)
		{
			g2d.setColor(Color.black);
			g2d.setStroke(stroke);
			Line2D line = new Line2D.Double(xb,yb,xb,500);
			g2d.draw (line);
			Line2D line2 = new Line2D.Double(xf,yf-50,xf,500);
			g2d.draw (line2); 
			g2d.setStroke(drawingStroke);

			if(x1<xf)
			{
				x1=xf;
				g.setColor(Color.black);
				g.drawLine(20,500,x1,500);  //Draw X axis.
			}
			g.drawString("t "+i,xa+30,ya-10);

			g.setColor(Color.blue);
			g.drawLine(xa,ya,xb,yb);		//h1
			g.setColor(Color.blue);         
			g.drawLine(xc,yc,xd,yd);  		//v1
			g.setColor(Color.blue);  
			g.drawLine(xe,ye,xf,yf);     	//h2
			
			if(i%2==0)
				g.drawString(""+val1,(xa+xf)/2, 300);
			else
				g.drawString(""+val2,(xa+xf)/2 , 300);

			g.drawLine(xa, 300, (xa+xb)/2, 275);
			g.drawLine((xa+xb)/2, 275, (xd+xf)/2, 275);
			g.drawLine((xd+xf)/2, 275, xf, 300);
			g.drawLine((xa+xb)/2, 325, (xd+xf)/2, 325);
			g.drawLine(xa, 300, (xa+xb)/2, 325);
			g.drawLine((xd+xf)/2, 325, xf, 300);

			xa=xf;
			ya=ya;
			xb=xe+100;
			yb=yb;

			xc=xb;
			yc=yb;
			xd=xf+50;
			yd=yf;

			xe=xd;
			ye=yd;
			xf=xe+50;
			yf=yf;



		}

	}

	public static void main(String[] args) 
	{
		JFrame frame = new JFrame();
		JScrollPane pane=new JScrollPane(new MainDrawCycle(),JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		frame.getContentPane().add(pane);
		//		new MainDrawCycle(frame);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setExtendedState(frame.MAXIMIZED_BOTH);
		
		//frame.setSize(900,700);
		frame.setVisible(true);


	}

	@Override
	public void actionPerformed(ActionEvent e) 
	{

		if(e.getSource()==button)
		{
			val=Integer.parseInt(textField.getText());
			repaint();
			
		}

	}

	@Override
	public void run() {
		
		
		// lower ThreadPriority
		Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

		// run a long while (true) this means in our case "always"
		while (true)
		{

		      // repaint the applet
		      repaint();

		      try
		      {
		            // Stop thread for 20 milliseconds
		            Thread.sleep (100);
		      }
		      catch (InterruptedException ex)
		      {
		            // do nothing
		      }

		      // set ThreadPriority to maximum value
		      Thread.currentThread().setPriority(Thread.MAX_PRIORITY);

		} 
		
		
		// TODO Auto-generated method stub
//		while(runner!=null)
//			repaint();
//		try
//		{
//			Thread.sleep(100);
//		}catch(InterruptedException i)
//		{
//			System.out.println(i.getMessage());
//		}
				
	}
public void start()
	{
		if(runner==null)
		{
			runner=new Thread(this);
			runner.start();
		}
	}	

}
Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 
Again I post my program but still scroll bar didn't added
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.ScrollPane;
import java.awt.Stroke;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import javax.swing.*;

public class MainDrawCycle extends JPanel implements ActionListener,Runnable 
{

	JButton button;
	JLabel label;
	JTextField textField;
	JScrollPane pane;
	JPanel panel;
	JFrame frame;
	Container c;
	static int val;
	int xa,ya,xb,yb,x1,y1;
	int xc,yc,xd,yd,xe,ye,xf,yf;
	int lsb=0,msb=7;
	char val1='A',val2='B';
	Thread runner=null;
	public MainDrawCycle() 
	{
		setLayout(null);
		//setSize(600,600);
		setBackground(Color.green);
		textField=new JTextField();
		label=new JLabel("Enter Clock value: ");
		button=new JButton("Ok");

		System.out.println("in const");
		label.setBounds(280,550,120,20);
		textField.setBounds(410,550,50,20);
		button.setBounds(480,550,70,20);

		add(button);
		add(textField);
		add(label);
		button.addActionListener(this);


	}

	public void paintComponent(Graphics g) 
	{

		xa=50;ya=60;xb=100;yb=60;x1=100;y1=520;
		xc=100;yc=60;xd=100;yd=100;xe=100;ye=100;xf=150;yf=100;

		Font f=new Font("serif", Font.BOLD,15);
		
		g.setColor(Color.black);
		g.drawLine(50,50,50,y1);  			// Draw Y axis.
		g.drawString("CLK",xa-40 ,ya);
		g.drawString("DATA", xa-40, 300);
		g.drawString("["+msb+":"+lsb+"]", xa-40, 312);
		
		
		g.setFont(f);
		g.setColor(Color.red);
		g.drawString("Timing Analysis", 400, 12);


		Graphics2D g2d = (Graphics2D)g;
		Stroke stroke=new BasicStroke(1f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,1f, new float[] {2f}, 0f);
		Stroke drawingStroke = new BasicStroke(2);

		for(int i=1;i<=val;i++)
		{
			g2d.setColor(Color.black);
			g2d.setStroke(stroke);
			Line2D line = new Line2D.Double(xb,yb,xb,500);
			g2d.draw (line);
			Line2D line2 = new Line2D.Double(xf,yf-50,xf,500);
			g2d.draw (line2); 
			g2d.setStroke(drawingStroke);

			if(x1<xf)
			{
				x1=xf;
				g.setColor(Color.black);
				g.drawLine(20,500,x1,500);  //Draw X axis.
			}
			g.drawString("t "+i,xa+30,ya-10);

			g.setColor(Color.blue);
			g.drawLine(xa,ya,xb,yb);		//h1
			g.setColor(Color.blue);         
			g.drawLine(xc,yc,xd,yd);  		//v1
			g.setColor(Color.blue);  
			g.drawLine(xe,ye,xf,yf);     	//h2
			
			if(i%2==0)
				g.drawString(""+val1,(xa+xf)/2, 300);
			else
				g.drawString(""+val2,(xa+xf)/2 , 300);

			g.drawLine(xa, 300, (xa+xb)/2, 275);
			g.drawLine((xa+xb)/2, 275, (xd+xf)/2, 275);
			g.drawLine((xd+xf)/2, 275, xf, 300);
			g.drawLine((xa+xb)/2, 325, (xd+xf)/2, 325);
			g.drawLine(xa, 300, (xa+xb)/2, 325);
			g.drawLine((xd+xf)/2, 325, xf, 300);

			xa=xf;
			ya=ya;
			xb=xe+100;
			yb=yb;

			xc=xb;
			yc=yb;
			xd=xf+50;
			yd=yf;

			xe=xd;
			ye=yd;
			xf=xe+50;
			yf=yf;



		}

	}

	public static void main(String[] args) 
	{
		JFrame frame = new JFrame();
		JScrollPane pane=new JScrollPane(new MainDrawCycle(),JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		frame.getContentPane().add(pane);
		//		new MainDrawCycle(frame);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setExtendedState(frame.MAXIMIZED_BOTH);
		
		//frame.setSize(900,700);
		frame.setVisible(true);


	}

	@Override
	public void actionPerformed(ActionEvent e) 
	{

		if(e.getSource()==button)
		{
			val=Integer.parseInt(textField.getText());
			repaint();
			
		}

	}

	@Override
	public void run() {
		
		
		// lower ThreadPriority
		Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

		// run a long while (true) this means in our case "always"
		while (true)
		{

		      // repaint the applet
		      repaint();

		      try
		      {
		            // Stop thread for 20 milliseconds
		            Thread.sleep (100);
		      }
		      catch (InterruptedException ex)
		      {
		            // do nothing
		      }

		      // set ThreadPriority to maximum value
		      Thread.currentThread().setPriority(Thread.MAX_PRIORITY);

		} 
		
		
		// TODO Auto-generated method stub
//		while(runner!=null)
//			repaint();
//		try
//		{
//			Thread.sleep(100);
//		}catch(InterruptedException i)
//		{
//			System.out.println(i.getMessage());
//		}
				
	}
public void start()
	{
		if(runner==null)
		{
			runner=new Thread(this);
			runner.start();
		}
	}	

}
Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

One last time: What sizes did you set? - specifically for the panel where you overrode paintComponent?

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

JScrollPane is for dynmic contents and never works correctly by using AbsoluteLayout

mKorbel
Veteran Poster
1,141 posts since Feb 2011
Reputation Points: 480
Solved Threads: 224
 

Again i post my code and set panel size and frame size as mentioned in bold tag

public class MainDrawCycle extends JPanel implements ActionListener,Runnable 
{

	JButton button;
	JLabel label;
	JTextField textField;
	JScrollPane pane;
	JPanel panel;
	JFrame frame;
	Container c;
	static int val;
	int xa,ya,xb,yb,x1,y1;
	int xc,yc,xd,yd,xe,ye,xf,yf;
	int lsb=0,msb=7;
	int maxValue=20;
	char val1='A',val2='B';
	Thread runner=null;
	JComboBox cmb; 
	public MainDrawCycle() 
	{
		setLayout(null);
		//setSize(900,700);
		//setBackground(Color.green);
		textField=new JTextField();
		label=new JLabel("Enter Clock value: ");
		button=new JButton("Ok");
		cmb=new JComboBox();
		cmb.addItem("50");
		cmb.addItem("100");
		System.out.println("in const");
		label.setBounds(280,550,120,20);
		textField.setBounds(410,550,50,25);
		button.setBounds(480,550,70,25);
<strong>		this.setBounds(0,0,800,600);</strong>
		cmb.setBounds(410,580,70,25);
		
		add(button);
		add(textField);
		add(label);
		add(cmb);
		button.addActionListener(this);

	}

	public void paintComponent(Graphics g) 
	{

		xa=50;ya=60;xb=100;yb=60;x1=100;y1=520;
		xc=100;yc=60;xd=100;yd=100;xe=100;ye=100;xf=150;yf=100;

		Font f=new Font("serif", Font.BOLD,15);
		
		g.setColor(Color.black);
		g.drawLine(50,50,50,y1);  			// Draw Y axis.
		g.drawString("CLK",xa-40 ,ya);
		g.drawString("DATA", xa-40, 300);
		g.drawString("["+msb+":"+lsb+"]", xa-40, 312);
		//g.drawString("Enter clock value :", 300, 560);
		
		g.setFont(f);
		g.setColor(Color.red);
		g.drawString("Timing Analysis", 500, 12);


		Graphics2D g2d = (Graphics2D)g;
		Stroke stroke=new BasicStroke(1f, BasicStroke.CAP_ROUND,BasicStroke.JOIN_BEVEL,1f, new float[] {2f}, 0f);
		Stroke drawingStroke = new BasicStroke(2);
		maxValue++;
		for(int i=1;i<=val;i++)
		{
			
			g2d.setColor(Color.black);
			g2d.setStroke(stroke);
			Line2D line = new Line2D.Double(xb,yb,xb,500);
			g2d.draw (line);
			Line2D line2 = new Line2D.Double(xf,yf-50,xf,500);
			g2d.draw (line2); 
			g2d.setStroke(drawingStroke);

			if(x1<xf)
			{
				x1=xf;
				g.setColor(Color.black);
				g.drawLine(20,500,x1,500);  //Draw X axis.
			}
			g.drawString("t "+i,xa+30,ya-10);

			g.setColor(Color.blue);
			g.drawLine(xa,ya,xb,yb);		//h1
			g.setColor(Color.blue);         
			g.drawLine(xc,yc,xd,yd);  		//v1
			g.setColor(Color.blue);  
			g.drawLine(xe,ye,xf,yf);     	//h2
			if(i%2==0)
				g.drawString(""+val1,(xa+xf)/2, 300);
			else
				g.drawString(""+val2,(xa+xf)/2 , 300);

			g.drawLine(xa, 300, (xa+xb)/2, 275);
			g.drawLine((xa+xb)/2, 275, (xd+xf)/2, 275);
			g.drawLine((xd+xf)/2, 275, xf, 300);
			g.drawLine((xa+xb)/2, 325, (xd+xf)/2, 325);
			g.drawLine(xa, 300, (xa+xb)/2, 325);
			g.drawLine((xd+xf)/2, 325, xf, 300);
			
			xa=xf;
			ya=ya;
			xb=xe+100;   //100
			yb=yb;

			xc=xb;
			yc=yb;
			xd=xf+50;	//50
			yd=yf;

			xe=xd;
			ye=yd;
			xf=xe+50;	//50
			yf=yf;
		}

	}

	public static void main(String[] args) 
	{
		JFrame frame = new JFrame();
		JScrollPane pane=new JScrollPane(new MainDrawCycle(),JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		frame.add(pane);
		//new MainDrawCycle(frame);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//frame.setExtendedState(frame.MAXIMIZED_BOTH);
		
<strong>		frame.setSize(900,700);</strong>
		frame.setVisible(true);


	}

	@Override
	public void actionPerformed(ActionEvent e) 
	{

		if(e.getSource()==button)
		{
			val=Integer.parseInt(textField.getText());
			repaint();
			
		}
		if(e.getSource()==cmb)
		{
			if(cmb.getSelectedItem().toString()=="50")
			{
				maxValue=50;
			}
			if(cmb.getSelectedItem().toString()=="100")
			{
				maxValue=100;
			}
		}

	}

	@Override
	public void run() {
		
		
		// lower ThreadPriority
		Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

		// run a long while (true) this means in our case "always"
		while (true)
		{

		      // repaint the applet
		      repaint();

		      try
		      {
		            // Stop thread for 20 milliseconds
		            Thread.sleep (100);
		      }
		      catch (InterruptedException ex)
		      {
		            // do nothing
		      }

		      // set ThreadPriority to maximum value
		      Thread.currentThread().setPriority(Thread.MAX_PRIORITY);

		} 
		
		
		// TODO Auto-generated method stub
//		while(runner!=null)
//			repaint();
//		try
//		{
//			Thread.sleep(100);
//		}catch(InterruptedException i)
//		{
//			System.out.println(i.getMessage());
//		}
				
	}
public void start()
	{
		if(runner==null)
		{
			runner=new Thread(this);
			runner.start();
		}
	}	

}
Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

Thank you I got my problem this thred solved

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

That's great! Please now help everybody else here by explaining how you solved it. Thank you.

JamesCherrill
Posting Genius
Moderator
6,373 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

This is my code
first I setpreffered size of jpanel
after that setpreffred size of frame and in set jpanels prefferder size as parameter

JFrame frame = new JFrame();
		frame.setBackground(Color.darkGray);
		JPanel jp=new Test();
		jp.setPreferredSize(new Dimension(500,500));
		
		JScrollPane pane=new JScrollPane(jp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		pane.setPreferredSize(jp.getPreferredSize());
		frame.add(pane);


Thank u!

Pravinrasal
Junior Poster in Training
54 posts since Jul 2011
Reputation Points: 19
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: