IS IT POSSIBLE TO ADD A SCROLL PANE TO A PANEL??

Hi, Im trying to add a scroll pane to a panel but when I compile the code and try to open the form - a 'Illegal Argument Exception' is produced. Can anyone tell me whether it is possible to add a scroll pane the actual panel itself and also the code to do this.     
Many Thanks, Karl.
I have added some sample code I have created -
public RequestForm(RequestList inC)throws SQLException{
          inRequestList = inC;
          displayForm();
          displayFields();
          displayButtons();
          getContentPane().add(panel);
          setVisible(true);
     public void displayForm() throws SQLException{
          setTitle("Request Form");
          setSize(600,740);
          // Center the frame
          Dimension dim = getToolkit().getScreenSize();
          setLocation(dim.width/2-getWidth()/2, dim.height/2-getHeight()/2);
          getContentPane().setLayout(new BorderLayout());
          Border etched = BorderFactory.createEtchedBorder();
          panel = new JPanel();
          panel.setLayout( null );
          //panel.setBackground(new Color(1,90,50));
          Border paneltitled = BorderFactory.createTitledBorder(etched,"");
          panel.setBorder(paneltitled);
          scrollPane1 = new JScrollPane(panel);
          scrollPane1.setBounds(0, 0, 600, 740);
          panel.add(scrollPane1);
}

Hi all,
I am still having trouble here. would it be posible to add a scrollpanel to this form? Can anyone provide me with a working piece of code so I see how it actually works.
Any help would be greatly appreciated.
Many Thanks, Karl.
Code as Follows:
/* ADMIN HELP Manual*/
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
public class AdminHelp extends JFrame implements ActionListener{
     private JButton exit;
     private JLabel heading1, help;
     private JPanel panel;
     Font f = new Font("Times New Roman", Font.BOLD, 30);
     private JScrollPane scroll;
     public AdminHelp(){
          setTitle("ADMIN Help Manual");
          setSize(400,325);
          // Center the frame
          Dimension dim = getToolkit().getScreenSize();
          setLocation(dim.width/2-getWidth()/2, dim.height/2-getHeight()/2);
          panel = new JPanel();
          panel.setLayout(null);
          exit = new JButton("Close");
          exit.setBounds(280,260,100,20);
          exit.addActionListener(this);
          panel.add(exit);
          exit.setToolTipText("Click here to close and return to the main menu");
          getContentPane().add(panel);
          show();
          public void actionPerformed(ActionEvent event){
          Object source = event.getSource();
               if (source == exit){
                    dispose();
          public static void main(String[] args){
               AdminHelp frame = new AdminHelp();
               frame.addWindowListener(new WindowAdapter(){
               public void windowClosing(WindowEvent e){
               System.exit(0);

Similar Messages

  • How to add a scroll pane for a panel.

    Hi
    i have a panel with some images drawn . i want a scroll pane added to this panel.
    I tried adding it but failed.
    Any suggestions please (
    here is my code.
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Panel;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    class frame extends JFrame
         public frame()
              JScrollPane pane=new JScrollPane();
              setContentPane(new  DrawClass());
              setSize(500,300);
              setBounds(200,300, 100, 500);
              setVisible(true);
    public class DrawClass extends JPanel implements ActionListener {
         public DrawClass(){
               public void paintComponent(Graphics g){
                          super.paintComponent(g);
                    String [] Filenames={"im3","im4","im5","im6"};
                   int imgX = 0;
                   int imgY = 10;
                   Toolkit toolkit = Toolkit.getDefaultToolkit();
                   Integer[] intArray = new Integer[Filenames.length];
                   for (int i = 0; i < Filenames.length; i++)
                        intArray[i] = new Integer(i);
                       if (Filenames[i] != "" )
                            //XMLFileParser r=new XMLFileParser();
                             Image img =toolkit.getImage( "/home/swathi/Desktop/Images/"+ Filenames[i]+ ".jpg" );
                           g.drawImage (img, imgX, imgY, this);                                       
                           imgY=imgY+100;                  
                       else
                            System.out.println("NO file Found");
               public static void main(String[] args){
               frame f =new frame();
              public void actionPerformed(ActionEvent e) {
                   // TODO Auto-generated method stub
         

    can you please help me in this code .....
    DrawClass.
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Panel;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    class frame extends JFrame
         public frame()
              setContentPane(new  DrawClass());
              setSize(500,300);
              setBounds(200,300, 100, 500);
              setVisible(true);
    public class DrawClass extends JPanel implements ActionListener {
         public DrawClass(){
               public void paintComponent(Graphics g){
                          super.paintComponent(g);
                    String [] Filenames={"im3","im4","im5","im6"};
                   int imgX = 0;
                   int imgY = 10;
                   Toolkit toolkit = Toolkit.getDefaultToolkit();
                   Integer[] intArray = new Integer[Filenames.length];
                   for (int i = 0; i < Filenames.length; i++)
                        intArray[i] = new Integer(i);
                       if (Filenames[i] != "" )
                            //XMLFileParser r=new XMLFileParser();
                             Image img =toolkit.getImage( "/home/swathi/Desktop/Images/"+ Filenames[i]+ ".jpg" );
                           g.drawImage (img, imgX, imgY, this);                                       
                           imgY=imgY+100;                  
                       else
                            System.out.println("NO file Found");
               public static void main(String[] args){
               frame f =new frame();
              public void actionPerformed(ActionEvent e) {
                   // TODO Auto-generated method stub
         ListClass
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Vector;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.dnd.*;
    import javax.swing.*;
    import java.awt.Component;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.ImageObserver;
    import java.awt.Toolkit;
    import javax.swing.*;
    import org.w3c.dom.Node;
         public class ListClass extends JPanel{
              ListClass(){
                   DrawClass d=new DrawClass();
              My question is how i can call a method of DrawClass which contains the drawn images ; in the List Class.
    its very urgent please.....

  • Is it possible to add button in the main tool panel of AI cs6 using javascript?

    Hello freinds,
    Is it possible to add  button in the main tool panel of AI cs6 using javascript?
    or is there any other way of adding the ui component to the tool panel..
    is it feasible??

    you can't add buttons to the tool panel using javascript, your only option is to create a plugin, you'll need C++ for that.
    yes, you'll need the SDK...if you need help with that, there's a dedicated forum for it
    http://forums.adobe.com/community/illustrator/illustrator_sdk?view=discussions

  • Scroll Pane Dreamweaver 8

    Just wanted to know how can we add a scroll pane in Dream
    weaver 8.
    Any other way we can avoid a vertical scroll for the content,
    and by freezing its size at 1024 by 768 and a scroll pane inside
    the same.
    San

    Did you ever find a solution? I too have this problem and I
    have to upload a few files at a time and then wait and often have
    to restart my DSl modem to get going again. I can upload and
    downlaoad all day with a browser and email but as soon as Iose DW I
    am sure to loose the connection.

  • How to add scroll bars to a panel

    Hi
    Can anyone plz tell me how to add a scroll bar to a panel created within a JFrame
    Regards
    ats

    import javax.swing.*;
    import java.awt.*;
    class Testing extends JFrame
      public Testing()
        setLocation(300,200);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        JPanel jp = new JPanel();
        jp.add(new JLabel("Label on a panel"));
        jp.setPreferredSize(new Dimension(200,300));
        JScrollPane sp = new JScrollPane(jp);
        sp.setPreferredSize(new Dimension(200,200));
        getContentPane().add(sp);
        pack();
      public static void main(String args[]){new Testing().setVisible(true);}
    }

  • How to add a dynamic filter in query panel

    I want to display the data in recent week, is it possible to add a dynamic filter in query panel?
    eg. filter--> actionDate >= CurrentDate - 7
    BO version: BOX I 3.1

    We are still trying to get this filter to work. Can anybody give us an example of how it should look on the sensor?
    The sensor filter that we would like to create should “exclude” any source IP, any source port to specific destination hosts on all destination ports (icmp has none) from capturing events and storing them in the event store on the sensor.
    This is the filter that we have so far on the sensor. What’s the problem with it?
    service event-action-rules rules0
    filters edit icmp-w-echo-filter-sensor-sensor-0-D
    signature-id-range 2100
    subsignature-id-range 0-255
    attacker-address-range 0.0.0.0-255.255.255.255
    victim-address-range a.b.c.x,a.b.c.y
    attacker-port-range 0-65535
    victim-port-range 0-65535
    risk-rating-range 0-100
    no actions-to-remove
    deny-attacker-percentage 100
    filter-item-status Enabled
    stop-on-match False
    no user-comment
    exit
    filters move icmp-w-echo-filter-sensor-sensor-0-D begin
    exit

  • Specifying text font in a scroll pane

    Below is a fragment of code that attempts to display text in a scroll pane. Basically this works OK, except for the following:
    1. Changing the font doesn't seem to make any difference. I tried "Arial", as shown, and "Curier", the display looks identical in both cases.
    2. Multiple blank spaces are replaced by a single blank space. So that "Baa baa" is displayed as "Baa baa".
    I would like to be able to display messages with many lines of text in a scroll pane preserving the format if possible, which relies on the blank spaces. I hope you can suggest how to do this better.
    Thans for you help.
    Miguel
        JLabel label = new JLabel(text);
        Font font = new Font("Arial",Font.PLAIN,12);
        label.setFont(font);
        JScrollPane scrollPane = new JScrollPane(label);

    try using a textArea instead of a label and include tabs for your multiple spaces.
    import java.awt.Font;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    public class FontTest extends JFrame {
         public FontTest() {
              super("Font Testing");
              String text = "This is \t a \t test";
              JTextArea text3 = new JTextArea();
              text3.setText(text);
              Font font = new Font("Courier",Font.PLAIN,12);   
              text3.setFont(font);   
              JScrollPane scrollPane = new JScrollPane(text3);
              getContentPane().add(scrollPane);
              setSize(400, 200);
              setVisible(true);
         public static void main(String[] args) {
              FontTest app = new FontTest();
    }

  • Keeping focus in the viewable window of a scroll pane

    I have many text fields and text areas inside a scroll pane. When I use tab to cycle through these boxes the focus goes out of the viewable window rather then the scroll pane moving to follow the focus. Is it possible for the scroll pane to follow the focus? I would think it is. But I haven't been able to figure out how. Any ideas?
    Thanks,
    Mark

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class test extends JFrame {
      FieldListener fieldListener = new FieldListener();
      final static int fieldNumber = 15;
      JPanel panel;
      public test() {
        super("Focused Scrolling");
        panel = new JPanel();
        panel.setLayout(new GridLayout(0,1));
        JTextField textField;
        for(int i = 0; i < fieldNumber; i++) {
          textField  = new JTextField("TextField # " + i);
          textField.addFocusListener(fieldListener);
          panel.add(textField);
        JScrollPane scrollPane = new JScrollPane(panel);
        getContentPane().add(scrollPane, "Center");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300,200);
        setLocation(350,200);
        setVisible(true);
      class FieldListener extends FocusAdapter {
        public void focusGained(FocusEvent e) {
          JComponent field = (JComponent)e.getSource();
          Rectangle r = field.getBounds();
          //System.out.println("r = " + r);
          // JComponent method sends message to component's
          // parent who implements scrollable interface
          panel.scrollRectToVisible(r);
      public static void main(String[] args) {
        new test();
    }

  • New to Applets: Problems wiht writing to files and with scroll panes.

    Hi, I've recently graduated from university and so I have limited experience in java programming and I'm having some trouble with JApplets (this is the first time I've made one). I'm trying to make a simple program that will allow users to pick one of a few background images from a list (a list of jpanels within a scroll pane) then at the click of a button will output a CSS with the background tag set to the image location. This is for use on a microsoft sharepoint site where each user has a My-Sit area which I want to be customizable.
    So far I've been creating this program as an application rather than a JApplet and just having another class that extends the JApplet Class which then displays the JFrame from the GUI Class. This initially didnt work because I was trying to add a window to a container so I kept programming it as an application until I got it working before trying to convert it to a JApplet. I solved the previous problem by changing my GUI class to extend JPanel instead of JFrame and it now displays correctly but with a coupe of issues.
    Firstly the applet will not create/write to the CSS file. I read that applets couldnt read/write to the users file system but they could to their own. The file I wish to write to is kept on the same machine as the applet so I'm not sure why this isn't working.
    Secondly the scroll panel is no longer working properly. This worked fine when I was still running the program as an application when the GUI still extended JFrame instead of JPanel (incidentally the program no longer runs as an application in this state) but now the scroll bar does not appear. This is a problem since I want the applet to remain the same size on the page even if I decide to add more backgrounds to the list. I tried setting the applet height/width to smaller values in the html file to see if the scroll bar would appear if the area was smaller than the GUI should be, but this just meant the bottom off the applet was cut off.
    Could anyone offer any suggestion as to why these thigns arnt working and how to fix them? If necessary I can post my source code here. Thanks in advance.

    Ok, well my program is made up of 4 classes, I hope this isnt too much to be posting. If any explaination is needed then I'll post that next. Theres lots of print lines scattered aroudn due to me trying to fix this and theres some stuff commented out from when the program used to be an application isntead of an applet.
    GUI Class, this was the main class until I made a JApplet Class
    public class AppletGUI extends JPanel{
        *GUI Components*
        //JFrames
        JFrame mainGUIFrame = new JFrame();
        JFrame changeBackgroundFrame = new JFrame();
        //JPanels (Sub-panels are indented)
        JPanel changeBackgroundJP = new JPanel(new BorderLayout());
            JPanel changeBackgroundBottomJP = new JPanel(new GridLayout(1,2));
        JPanel backgroundJP = new JPanel(new GridLayout(1,2));
        JPanel selectBackground = new JPanel(new GridLayout(1,2));
        //Jbuttons
        JButton changeBackgroundJB = new JButton("Change Background");
        JButton defaultStyleJB = new JButton("Reset Style");
        //JLabels
        JLabel changeBackgroundJL = new JLabel("Choose a Background from the Menu");
        JLabel backgroundJL = new JLabel();
        //JScrollPane
        JScrollPane backgroundList = new JScrollPane();
            JPanel backgroundListPanel = new JPanel(new GridLayout());
        //Action Listeners
        ButtonListener bttnLstnr = new ButtonListener();
        //Controllers
        CSSGenerator cssGenerator = new CSSGenerator();
        Backgrounds backgroundsController = new Backgrounds();
        backgroundMouseListener bgMouseListener = new backgroundMouseListener();
        //Flags
        Component selectedComponent = null;
        *Colour Changer*
        //this method is used to change the colour of a selected JP
        //selected JPs have their background darkered and when a
        //different JP is selected the previously seleced JP has its
        //colour changed back to it's original.
        public void changeColour(JPanel theJPanel, boolean isDarker){
        //set selected JP to a different colour
        Color tempColor = theJPanel.getBackground();
            if(isDarker){
                tempColor = tempColor.darker();
            else{
                tempColor = tempColor.brighter();
            theJPanel.setBackground(tempColor);
         //also find any sub-JPs and change their colour to match
         int j = theJPanel.getComponents().length;
         for(int i = 0; i < j; i++){
                String componentType = theJPanel.getComponent(i).getClass().getSimpleName();
                if(componentType.equals("JPanel")){
                    theJPanel.getComponent(i).setBackground(tempColor);
        *Populating the GUI*
        //backgroundList.add();
        //Populating the Backgrounds List
        *Set Component Size Method*
        public void setComponentSize(Component component, int width, int height){
        Dimension tempSize = new Dimension(width, height);
        component.setSize(tempSize);
        component.setMinimumSize(tempSize);
        component.setPreferredSize(tempSize);
        component.setMaximumSize(tempSize);     
        *Constructor*
        public AppletGUI() {
            //REMOVED CODE
            //AppletGUI.setDefaultLookAndFeelDecorated(true);
            //Component Sizes
            //setComponentSize
            //Adding Action Listeners to Components
            System.out.println("adding actions listeners to components");
            changeBackgroundJB.addActionListener(bttnLstnr);
            defaultStyleJB.addActionListener(bttnLstnr);
            //Populating the Change Background Menu
            System.out.println("Populating the window");
            backgroundsController.populateBackgroundsData();
            backgroundsController.populateBackgroundsList();
            //loops to add background panels to the JSP
            ArrayList<JPanel> tempBackgroundsList = new ArrayList<JPanel>();
            JPanel tempBGJP = new JPanel();
            tempBackgroundsList = backgroundsController.getBackgroundsList();
            int j = tempBackgroundsList.size();
            JPanel backgroundListPanel = new JPanel(new GridLayout(j,1));
            for(int i = 0; i < j; i++){
                tempBGJP = tempBackgroundsList.get(i);
                System.out.println("Adding to the JSP: " + tempBGJP.getName());
                //Add Mouse Listener
                tempBGJP.addMouseListener(bgMouseListener);
                backgroundListPanel.add(tempBGJP, i);
            //set viewpoing
            backgroundList.setViewportView(backgroundListPanel);
            /*TESTING
            System.out.println("\n\n TESTING!\n Printing Content of SCROLL PANE \n");
            j = tempBackgroundsList.size();
            for(int i = 0; i < j; i++){
                System.out.println(backgroundList.getComponent(i).getName());
            changeBackgroundJP.add(changeBackgroundJL, BorderLayout.NORTH);
            changeBackgroundJP.add(backgroundList, BorderLayout.CENTER);
            //changeBackgroundJP.add(tempBGJP, BorderLayout.CENTER);
            changeBackgroundJP.add(changeBackgroundBottomJP, BorderLayout.SOUTH);
            changeBackgroundBottomJP.add(changeBackgroundJB);
            changeBackgroundBottomJP.add(defaultStyleJB);
            System.out.println("Finsihed populating");
            //REMOVED CODE
            //adding the Background Menu to the GUI and settign the GUI options
            //AppletGUI.setDefaultLookAndFeelDecorated(true);
            //this.setResizable(true);
            //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocation(500,500);
            this.setSize(400,300);
            this.add(changeBackgroundJP);
        //REMOVED CODE
         *Main Method*
        public static void main(String[] args){
           System.out.println("Creating GUI");
           AppletGUI theGUI = new AppletGUI();
           theGUI.setVisible(true);
           System.out.println("GUI Displayed");
         *Button Listener Inner Class*
        public class ButtonListener implements ActionListener{
            //check which button is clicked
            public void actionPerformed(ActionEvent event) {
                AbstractButton theButton = (AbstractButton)event.getSource();
                //Default Style Button
                if(theButton == defaultStyleJB){
                    System.out.println("Default Style Button Clicked!");
                //Change Background Button
                if(theButton == changeBackgroundJB){
                    System.out.println("Change Background Button Clicked!");
                    String backgroundURL = cssGenerator.getBackground();
                    if(backgroundURL != ""){
                        cssGenerator.setBackgroundChanged(true);
                        cssGenerator.setBackground(backgroundURL);
                        cssGenerator.outputCSSFile();
                        System.out.println("Backgroudn Changed, CSS File Written");
                    else{
                        System.out.println("No Background Selected");
         *Mouse Listener Inner Class*
        public class backgroundMouseListener implements MouseListener{
            public void mouseClicked(MouseEvent e){
                //get component
                JPanel tempBackgroundJP = new JPanel();
                tempBackgroundJP = (JPanel)e.getComponent();
                System.out.println("Background Panel Clicked");
                //change component colour
                if(selectedComponent == null){
                    selectedComponent = tempBackgroundJP;
                else{
                    changeColour((JPanel)selectedComponent, false);
                    selectedComponent = tempBackgroundJP;
                changeColour((JPanel)selectedComponent, true);
                //set background URL
                cssGenerator.setBackground(tempBackgroundJP.getName());
            public void mousePressed(MouseEvent e){
            public void mouseReleased(MouseEvent e){
            public void mouseEntered(MouseEvent e){
            public void mouseExited(MouseEvent e){
    }JApplet Class, this is what I plugged the GUI into after I made the change from Application to JApplet.
    public class AppletTest extends JApplet{
        public void init() { 
            System.out.println("Creating GUI");
            AppletGUI theGUI = new AppletGUI();
            theGUI.setVisible(true);
            Container content = getContentPane();
            content.setBackground(Color.white);
            content.setLayout(new FlowLayout());
            content.add(theGUI);
            AppletGUI theGUI = new AppletGUI();
            theGUI.setVisible(true);
            setContentPane(theGUI);
            System.out.println("GUI Displayed");
        public static void main(String[] args){
            AppletTest at = new AppletTest();
            at.init();
            at.start();
    }The CSS Generator Class. This exists because once I have the basic program working I intend to expand upon it and add multiple tabs to the GUI, each one allowing the user to change different style options. Each style option to be changed will be changed wit ha different method in this class.
    public class CSSGenerator {
        //Variables
        String background = "";
        ArrayList<String> backgroundCSS;
        //Flags
        boolean backgroundChanged = false;
        //Sets and Gets
        //For Variables
        public void setBackground(String theBackground){
            background = theBackground;
        public String getBackground(){
            return background;
        //For Flags
        public void setBackgroundChanged(boolean isBackgroundChanged){
            backgroundChanged = isBackgroundChanged;
        public boolean getBackgroundChanged(){
            return backgroundChanged;
        //background generator
        public ArrayList<String> backgroundGenerator(String backgroundURL){
            //get the URL for the background
            backgroundURL = background;
            //creat a new array list of strings
            ArrayList<String> backgroundCSS = new ArrayList<String>();
            //add the strings for the background options to the array list
            backgroundCSS.add("body");
            backgroundCSS.add("{");
            backgroundCSS.add("background-image: url(" + backgroundURL + ");");
            backgroundCSS.add("background-color: #ff0000");
            backgroundCSS.add("}");
            return backgroundCSS;
        //Write CSS to File
        public void outputCSSFile(){
            try{
                //Create CSS file
                System.out.print("creating file");
                FileWriter cssWriter = new FileWriter("C:/Documents and Settings/Gwilym/My Documents/Applet Data/CustomStyle.css");
                System.out.print("file created");
                System.out.print("creating buffered writer");
                BufferedWriter out = new BufferedWriter(cssWriter);
                System.out.print("buffered writer created");
                //check which settings have been changed
                //check background flag
                if(getBackgroundChanged() == true){
                    System.out.print("retrieving arraylist");
                    ArrayList<String> tempBGOptions = backgroundGenerator(getBackground());
                    System.out.print("arraylist retrieved");
                    int j = tempBGOptions.size();
                    for(int i = 0; i < j ; i++){
                        System.out.print("writing to the file");
                        out.write(tempBGOptions.get(i));
                        out.newLine();
                        System.out.print("written to the file");
                out.close();
            }catch (Exception e){//Catch exception if any
                System.out.println("Error: Failed to write CSS file");
        /** Creates a new instance of CSSGenerator */
        public CSSGenerator() {
    }The Backgrounds Class. This class exists because I didnt want there to just be a hardcoded lsit of backgrounds, I wanted it to be possible to add new ones to the list without simply lettign users upload their own images (since the intended users are kids and this sharepoint site is used for educational purposes, I dont want them uplaoded inapropraite backgrounds) but I do want the site admin to be able to add more images to the list. for this reason the backgrounds are taken from a list in a text file that will be stored in the same location as the applet, the file specifies the background name, where it is stored, and where a thumbnail image is stored.
    public class Backgrounds {
        //Array Lists
        private ArrayList<JPanel> backgroundsList;
        private ArrayList<String> backgroundsData;
        //Set And Get Methods
        public ArrayList getBackgroundsList(){
            return backgroundsList;
        //ArrayList Population Methods
        public void populateBackgroundsData(){
            //decalre the input streams and create a new fiel hat points to the BackgroundsData file
            File backgroundsDataFile = new File("C:/Documents and Settings/Gwilym/My Documents/Applet Data/BackgroundsData.txt");
            FileInputStream backgroundsFIS = null;
            BufferedInputStream backgroundsBIS = null;
            DataInputStream backgroundsDIS = null;
            try {
                backgroundsFIS = new FileInputStream(backgroundsDataFile);
                backgroundsBIS = new BufferedInputStream(backgroundsFIS);
                backgroundsDIS = new DataInputStream(backgroundsBIS);
                backgroundsData = new ArrayList<String>();
                String inputtedData = null;
                //loops until it reaches the end of the file
                while (backgroundsDIS.available() != 0) {
                    //reads in the data to be stored in an array list
                    inputtedData = backgroundsDIS.readLine();
                    backgroundsData.add(inputtedData);
            //TESTING
            System.out.println("\n\nTESTING: populateBackgroundsData()");
            int j = backgroundsData.size();
            for(int i = 0; i < j; i++){
                System.out.println("Index " + i + " = " + backgroundsData.get(i));
            System.out.println("\n\n");
            //close all stremas
            backgroundsFIS.close();
            backgroundsBIS.close();
            backgroundsDIS.close();
            } catch (FileNotFoundException e) {
                System.out.println("Error: File Not Found");
            } catch (IOException e) {
                System.out.println("Error: IO Exception Thrown");
        public void populateBackgroundsList(){
            backgroundsList = new ArrayList<JPanel>();
            int j = backgroundsData.size();
            System.out.println("number of backgrounds = " + j);
            backgroundsList = new ArrayList<JPanel>();
            for(int i = 0; i < j; i++){
                String tempBackgroundData = backgroundsData.get(i);
                JPanel backgroundJP = new JPanel(new GridLayout(1,2));
                JLabel backgroundNameJL = new JLabel();               
                JLabel backgroundIconJL = new JLabel();
                //split the string string and egt the background name and URL
                String[] splitBGData = tempBackgroundData.split(",");
                String backgroundName = splitBGData[0];
                String backgroundURL = splitBGData[1];
                String backgroundIcon = splitBGData[2];
                System.out.println("\nbackgroundName = " + backgroundName);
                System.out.println("\nbackgroundURL = " + backgroundURL);
                System.out.println("\nbackgroundIcon = " + backgroundIcon + "\n");
                backgroundNameJL.setText(backgroundName);
                backgroundIconJL.setIcon(new javax.swing.ImageIcon(backgroundIcon));
                backgroundJP.add(backgroundNameJL);
                backgroundJP.add(backgroundIconJL);
                backgroundJP.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
                //Name the JP as the background URL so it can be found
                //May be useful sicne the data file may need to contain 3 fields in future
                //this is incase the preview image (icon) is different from the acctual background
                //most liekly in the case of more complex ppictures rather then repeating patterns
                backgroundJP.setName(backgroundURL);
                //Add the JP to the Array List
                backgroundsList.add(backgroundJP);
            //TESTING
            System.out.println("\n\nTESTING: populateBackgroundsList()");
            j = backgroundsList.size();
            for(int i = 0; i < j; i++){
                System.out.println("Index " + i + " = " + backgroundsList.get(i));
            System.out.println("\n\n");
    }So thats my program so far, if theres anythign that needs clarifying then please jsut ask. Thank you very much for the help!

  • How do i add a Scroll Bar to a  JList Component using absolute positioning?

    I've got a applet whose content pane is set to null. I've create a jlist component on this applet and using absolute positioning set the bounds at
    ListBox1.setBounds(380,10, 500, 500);.
    My problem is creating add a scroll bar to the list box.
    JScrollPane scrollPane = new JScrollPane(ListBox1);
    C.add(scrollPane);
    The above code is what i use and when i run this applet i don't see the list box at all. How do i add a scrollbar to this list box or JList component. Please help.

    You need to setBounds() on the JScrollPane, not the JList.
    The JScrollPane is the component that is being added to the panel.

  • Is it possible to add a JToolBar to JSplitPane?

    When I try to add Jtoolbar to JSplitPane, it gives me the following exception:
    Exception in Thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: cannot add to layout: unknown constraint: null
    Is it not possible to add a JToolBar to a JSplitPane? Is it because I have not defined what is supposed to happen when the user clicks "next" or "previous" yet? What I ultimately want to happen is for something to move up in all the components of the split pane (it's a nested pane) when I hit "next," and to move back when i hit "prev" (buttons in the jtoolbar)

    I believe that you don't want to add the JToolBar to the JSplitPane, but instead you want to add the JToolBar to the Panel that holds the JSplitPane. For eg:
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JSplitPane;
    import javax.swing.JToolBar;
    class FuSwing1
        private JPanel mainPanel = new JPanel();
        private JSplitPane splitpane;
        public FuSwing1()
            JToolBar toolbar = new JToolBar();
            toolbar.add(new JButton("foo 1"));
            JPanel redPanel = new JPanel();
            JPanel bluePanel = new JPanel();
            redPanel.setBackground(Color.red);
            bluePanel.setBackground(Color.blue);
            splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, redPanel, bluePanel);
            mainPanel.setPreferredSize(new Dimension(400, 400));
            mainPanel.setLayout(new BorderLayout());
            mainPanel.add(toolbar, BorderLayout.NORTH);
            mainPanel.add(splitpane, BorderLayout.CENTER);
        public JPanel getMainPanel()
            return mainPanel;
        public void setDividerLocation(double loc)
            splitpane.setDividerLocation(loc);
        private static void createAndShowUI()
            FuSwing1 fu1 = new FuSwing1();
            JFrame frame = new JFrame("FuSwing1");
            frame.getContentPane().add(fu1.getMainPanel());
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.pack();
            fu1.setDividerLocation(0.6);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        public static void main(String[] args)
            java.awt.EventQueue.invokeLater(new Runnable()
                public void run()
                    createAndShowUI();
    }

  • Need help with a scroll pane

    Hello all. I am trying to get a scroll pane to work in an application that I have built for school. I am trying to get an amortization table to scroll through for a mortgage calculator. It isn't recognizing my scrollpane and I am not sure why. Could someone give me a push in the right direction.
    import javax.swing.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.text.*;
    public class MortCalcWeek3 extends JFrame implements ActionListener
         DecimalFormat twoPlaces = new DecimalFormat("#,###.00");//number format
         int L[] = {7, 15, 30};
         double I[] = {5.35, 5.5, 5.75};
         double P, M, J, H, C, Q;
         JPanel panel = new JPanel ();//creates the panel for the GUI
         JLabel title = new JLabel("Mortgage Calculator");
         JLabel PLabel = new JLabel("Enter the mortgage amount: ");
         JTextField PField = new JTextField(10);//field for obtaining user input for mortgage amount
         JLabel choices = new JLabel ("Choose the APR and Term in Years");
         JTextField choicestxt = new JTextField (0);
         JButton calcButton = new JButton("Calculate");
         JTextField payment = new JTextField(10);
         JLabel ILabel = new JLabel("Annual Percentage Rate: choose one");
         String [] IChoice = {I[0] + "", I[1] + "", I[2] + ""};
         JComboBox IBox = new JComboBox(IChoice);
         JLabel LLabel = new JLabel("Term (in years): choose one");
         String [] LChoice = {L[0] + "", L[1] + "", L[2] + ""};
         JComboBox LBox = new JComboBox(LChoice);
         JLabel amortBox = new JLabel("Amortiaztion Table");
         JScrollPane amortScroll = new JScrollPane(amortBox);
         public MortCalcWeek3 () //creates the GUI window
                        super("Mortgage Calculator");
                        setSize(300, 400);
                        setBackground (Color.white);
                        setForeground(Color.blue);
                        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                        //Creates the container
                        Container contentPane = getContentPane();
                        FlowLayout fresh = new FlowLayout(FlowLayout.LEFT);
                        panel.setLayout(fresh);
                        //identifies trigger events
                        calcButton.addActionListener(this);
                        PField.addActionListener(this);
                        IBox.addActionListener(this);
                        LBox.addActionListener(this);
                        panel.add(PLabel);
                        panel.add(PField);
                        panel.add(choices);
                        panel.add(choicestxt);
                        panel.add(ILabel);
                        panel.add(IBox);
                        panel.add(LLabel);
                        panel.add(LBox);
                        panel.add(calcButton);
                        panel.add(payment);
                        panel.add(amortBox);
                        payment.setEditable(false);
                        panel.add(amortScroll);
                        setContentPane(panel);
                        setVisible(true);
         }// end of GUI info
              public void actionPerformed(ActionEvent e) {
                   MortCalcWeek3();     //calls the calculations
              public void MortCalcWeek3() {     //performs the calculations from user input
                   double P = Double.parseDouble(PField.getText());
                   double I = Double.parseDouble((String) IBox.getSelectedItem());
                   double L = Double.parseDouble((String) LBox.getSelectedItem());
                   double J = (I  / (12 * 100));//monthly interest rate
                   double N = (L * 12);//term in months
                   double M = (P * J) / (1 - Math.pow(1 + J, - N));//Monthly Payment
                 String showPayment = twoPlaces.format(M);
                 payment.setText(showPayment);
         //public void amort() {
                   //int N = (L * 12);
                   int month = 1;
                             while (month <= N)
                                  //performs the calculations for the amortization
                                  double H = P * J;//current monthly interest
                                  double C = M - H;//monthly payment minus monthly interest
                                  double Q = P - C;//new balance
                                  P = Q;//sets loop
                                  month++;
                                  String showAmort = twoPlaces.format(H + C + Q);
                                amortScroll(showAmort);
              public static void main(String[] args) {
              MortCalcWeek3 app = new MortCalcWeek3();
    }//end main
    }//end the programI appreciate any help you may provide.

         JLabel amortBox = new JLabel("Amortiaztion Table");
         JScrollPane amortScroll = new JScrollPane(amortBox);The argument passed to a JScrollPane constructor specifies what's inside the scroll pane. Here, it seems like you're trying to create a scroll pane that displays a JLabel.
    Also, I'm not sure what you're trying to do here:
    amortScroll(showAmort);I don't see a method named "amortScroll".
    You need to make a JTextArea, pass that into the JScrollPane's constructor, and add the JScrollPane to your frame.

  • Is it possible to add the Gauge to Canvas?

    Hi All!
    Does anybody know if it is possible to add Gauge to Canvas?
    Thanks so much in advance. Any help would be appreciated.

    Yes, for sure it is easy. I simply wondering maybe something standard exist. :-)
    Btw, do you know any way except own implementation of the scrolling for Canvas?
    Thanks.

  • Dynamic content in scroll pane component

    As far as I can see, the contentPath for a scroll pane
    component can only point to a movie clip in the library, not to an
    instance on stage. Does this mean that the content can only be
    something created during authoring with no possibility of modifying
    it in Actionscript?

    No, I had no reply and eventually wrote my own scroll pane
    solution which allows me to directly modify the pane's content with
    ActionScript and update the scroll bar to reflect any change in the
    content's size. I'm puzzled by the help file's example in
    ScrollPane.refreshPane() because it describes a senario where:
    "for example, you've loaded a form into a scroll pane and an
    input property (for example, a text field) has been changed by
    ActionScript. In this case, you would call refreshPane() to reload
    the same form with the new values for the input properties."
    Which implies that you can use ActionScript to change the
    content then reload it. The help file on ScrollPane.contentPath is
    not very clear about what content can be used but appears to say
    that the only content types allowed are: a SWF or JPEG loaded via
    its URL or a symbol in the current library. I don't see how you
    could use ActionScript to change any of these. I've tried
    specifying an on-stage instance as the content but that
    fails.

  • How to add a scroll bar within a view window ?I want to display x and y axis outside the scoll window and keep those axis static and move the graph within scroll area

    how to add a scroll bar within a view window ?I want to display x and y axis outside the scoll window and keep those axis static and move the graph within scroll area
    ananya

    Hey Ananya,
    I believe what you want to do is possible, but it will not be
    easy.  If you want to add a scroll bar that will scroll the graph
    back and forth but keep the axis set, you would want to add a
    horizontal or vertical scrollbar.  Then you would create an event
    handler for the scroll event.  You would have to manually plot
    different data within this scroll event.  Unfortunately, there is
    not really a built in way to do this with the Measurement Studio plot
    control.
    Thanks,
    Pat P.
    Software Engineer
    National Instruments

Maybe you are looking for

  • Change name of output file.

    Hello. I'm a new in PI. I have created communcation channel: adapter type: FILE. transport protocol: FTP then I defined target directory and file name scheme. In proccessing tab I choose Add Time Stamp. File was created in my directory, but with this

  • Problem with fill-in-blank questions

    I'm using powerpoint 2003 and Adobe presenter 7. When I create fill-in-blank questions in quiz, more detail: I have 5 textboxes in 5 sentences; after each sentence, I pushed "enter" to make a new line (of course, there is 1 textbox in each one). It s

  • PO acknowledgement from vendor in system

    Hi gurus, PLease let me know the procedure for getting acknowledge from vendor for PO... Once po created , how to get acknowledge and what are settings required for the same.. how to use that option.. plesae explain.. thanks in advance

  • Newbie error - UnsupportedClassVersionError:  How to fix ?

    Hi, I am getting started with Spring Frame work and encountering this error - java.lang.UnsupportedClassVersionError: org/springframework/web/servlet/DispatcherServlet (Unsupported major.minor version 47.0) How can I resolve it.? Help would be much a

  • SCRIPT  Include text allignment

    Hi Friends,   I want print the Include text(Service text) within one column(alignment). Iam displaying 6 columns in page like item. description, qty, units, price , total ..(6coloumns).. I want dispaly service text for each Item... I am getting the S