Advertisement
Constructor | Description |
---|---|
public JScrollPane() | Creates an empty JScrollPane with no viewport, where both the horizontal and vertical scrollbars appearing when required. |
public JScrollPane(Component view) | Creates a JScrollPane that displays a component within it. This JScrollPane also shows the horizontal and vertical bar, only when its component's contents are larger than the viewing area. |
Methods | Description |
---|---|
public setPreferredSize(Dimension d) | Sets the preferred size of JScrollPane. |
public int setLayout(LayoytManager managaer) | Sets the layout manager for JScrollPane. |
import javax.swing.*;
import java.awt.*;
public class ScrollPane1
{
public static void main(String... ar)
{
SwingUtilities.invokeLater(new Runnable() {
public void run()
{
new A();
}
});
}//Closing the main method
}//Closing the class Combo
class A //implements ActionListener
{
JFrame jf;
JPanel jp;
JLabel label1;
A()
{
jf = new JFrame("JScrollPane");
label1 = new JLabel("Displaying a picture ",JLabel.CENTER);
//Creating an ImageIcon object to create a JLabel with image
ImageIcon image = new ImageIcon("nature.jpg");
JLabel label = new JLabel(image, JLabel.CENTER);
//Creating a JPanel and adding JLabel that contains the image
jp = new JPanel(new BorderLayout());
jp.add( label, BorderLayout.CENTER );
//Adding JPanel to JScrollPane
JScrollPane scrollP = new JScrollPane(jp);
//Adding JLabel and JScrollPane to JFrame
jf.add(label1,BorderLayout.NORTH);
jf.add(scrollP,BorderLayout.CENTER);
jf.setSize(350,270);
jf.setVisible(true);
}
}
Advertisement
import javax.swing.*;
import java.awt.*;
public class ScrollPane3
{
public static void main(String... ar)
{
SwingUtilities.invokeLater(new Runnable() {
public void run()
{
new A();
}
});
}//Closing the main method
}//Closing the class Combo
class A
{
Object [] index;
JFrame jf;
JPanel jp1, jp2;
JLabel label;
A()
{
jf = new JFrame("JScrollPane");
jp1 = new JPanel();
label = new JLabel("Displaying two images ",JLabel.CENTER);
ImageIcon image1 = new ImageIcon("nature.jpg");
JLabel label1= new JLabel(image1, JLabel.CENTER);
jp1 = new JPanel(new BorderLayout());
jp1.add( label1, BorderLayout.CENTER );
JScrollPane scrollP1 = new JScrollPane(jp1);
scrollP1.setPreferredSize(new Dimension(300, 190));
ImageIcon image2 = new ImageIcon("nature2.jpg");
JLabel label2 = new JLabel(image2, JLabel.CENTER);
jp2 = new JPanel(new BorderLayout());
jp2.add( label2, BorderLayout.CENTER);
JScrollPane scrollP2 = new JScrollPane(jp2);
scrollP2.setPreferredSize(new Dimension(300, 190));
jf.add(label,BorderLayout.NORTH);
jf.add(scrollP1,BorderLayout.CENTER);
jf.add(scrollP2,BorderLayout.EAST);
jf.setSize(600,270);
jf.setVisible(true);
}
}
When you run the code, you are presented a window that shows two images, with their own JScrollPane
giving them horizontal and vertical bars.
import javax.swing.*;
import java.awt.*;
import javax.swing.table.TableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.DefaultTableCellRenderer;
public class ScrollPane5
{
public static void main(String... ar)
{
SwingUtilities.invokeLater(new Runnable() {
public void run()
{
new A();
}
});
}//Closing the main method
}//Closing the class Combo
class A
{
String [] index;
JFrame jf;
DefaultTableModel dTableModel;
JTable table1;
JLabel label1;
JPanel jp;
A()
{
index= new String[]{"Rank", "Country", "Forested Area(km sq)", "% of land area"};
jf= new JFrame("JScrollPane with JTable");
label1 = new JLabel("Top 10 countries with most forested area",JLabel.CENTER);
Object[][] rawData = new Object[] [] {
{"1", "Russia", "8,149,300", "49.40%"},
{"2", "Canada", "4.196,438", "49.24%"},
{"3", "Brazil", "4,777,980", "56.10%"},
{"4", "United States", "2,083,210", "33%"},
{"5", "China", "2,083,210", "21.83"},
{"6", "Congo", "1,819,326", "50%"},
{"7", "Australia", "1,147,832", "19.90%"},
{"8", "Argentina", "945,336", "34%"},
{"9", "Indonesia", "884,950", "46.46%"},
{"10", "India", "778,424", "24.68%"},
};
//creating a DeFaultTableModel object, which is subclass of TableModel
dTableModel = new DefaultTableModel(rawData, index);
//Initializing a JTable from DefaultTableModel.
table1 = new JTable(dTableModel);
//Adjusting the contents of each cell of JTable in CENTER
DefaultTableCellRenderer tableRenderer = new DefaultTableCellRenderer();
tableRenderer.setHorizontalAlignment(JLabel.CENTER); //Aligning the table data centrally.
table1.setDefaultRenderer(Object.class, tableRenderer);
//Creating a JPanel, setting it layout to BorderLayout and adding JTable to it.
jp= new JPanel(new BorderLayout());
jp.add(table1, BorderLayout.CENTER);
//Creating a JScrollPane and adding its functionalities to JPanel
JScrollPane scrollP = new JScrollPane(jp);
//Adding a JLabel and JScrollPane to JFrame.
jf.add(label1, BorderLayout.NORTH);
jf.add(scrollP,BorderLayout.CENTER);
jf.setSize(320,200);
jf.setVisible(true);
}
}
When you run the code, you are presented a window shows us a table displaying the top 10 countries with the maximum forested area. We have achieved it by creating a JTable with a JScrollPane attached to it, giving it the horizontal and vertical bars(when required).
Advertisement
Advertisement
Please check our latest addition
C#, PYTHON and DJANGO
Advertisement