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 -
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.
SanDid 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
atsimport 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.1We 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. Whats 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,
Markimport 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();
} -
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
ananyaHey 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