Content pane input map

hi, I am having a headache trying to decipher why the following code gives me a null pointer exception
package comerciop;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class teste
   public static void main(String[] args)
      JFrame a = new JFrame();
      KeyStroke esc = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
      Action fechaFrame = new AbstractAction()
         public void actionPerformed(ActionEvent e) {
            System.out.println("esc");
      a.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(esc, "esc");
      a.getRootPane().getActionMap().put("esc", fechaFrame);
      System.out.println(a.getRootPane().getInputMap().allKeys());
      KeyStroke[] keys = a.getRootPane().getInputMap().allKeys();
      for(KeyStroke key : keys)
         System.out.println(key);
      a.setVisible(true);
run:
null
Exception in thread "main" java.lang.NullPointerException
        at comerciop.teste.main(teste.java:25)I put a KeyStroke object into the frame inputMap, and then when asked to print the inputMap keys array, it returns null and obviously when I try to access the keys array I get an exception
Why is this?
Edited by: DMD_ANFINI on Jul 13, 2009 11:27 AM
Edited by: DMD_ANFINI on Jul 13, 2009 11:39 AM
Edited by: DMD_ANFINI on Jul 13, 2009 11:42 AM

nevermind, problem solved
changed
KeyStroke[] keys = a.getRootPane().getInputMap().allKeys()to
KeyStroke[] keys = a.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).allKeys()

Similar Messages

  • I need to sort the incoming file contents before message mapping

    Hi All,
      I have requirement like i have to sort the file contents before message mapping in Xi. is there any option please suggest me with your value information.i dont want to sort in message mapping before that i want file contents to be sorted order.waiting for your quick reply.
    Thanks,
    seshagiri

    Hi,
    You can do this in one scenario.
    Lets say you have MT_Source and MT_Target as two message types.
    Now your MM1 will be between MT_Source & MT_Source, that is same message type. Here you built your sorting logic.
    Now create MM2, between MT_Source & MT_Target. Here your actual mapping logic will be implemented. The input payload for MM2 will be sorted data.
    Now in operation mapping, first call MM1 and then call MM2 (You have a plus + sign to add multiple mapping programs). Due to this sequence, at run time first MM1 will be executed and after that its oupt will be given to MM2 as source payload.
    Hope its clear. Plz let me know if you have any doubts.
    -Gouri

  • How to add a text area in a Content pane..?

    Hi,
    I created a content pane with 5 buttons. One of them is a quit button, and I was able to create an "system.exit(0)" event handling for him. My problem is.. I have 4 other buttons, and I want them to show some text when I click them. How do I add a text area bellow my content pane..?
    Copy/paste my code to see what im talking about :) :
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Interface extends JFrame {
    public Interface() {
    Container contentPane = getContentPane();
    contentPane.setLayout(new FlowLayout());
    JButton button1 = new JButton("Test1");
    JButton button2 = new JButton("Test2");
    JButton button3 = new JButton("Test3");
    JButton button4 = new JButton("Test4");
    JButton button5 = new JButton("Quit");
    ButtonHandler handler = new ButtonHandler();
    button5.addActionListener( handler );
    contentPane.add(button1);
    contentPane.add(button2);
    contentPane.add(button3);
    contentPane.add(button4);
    contentPane.add(button5);
    contentPane.setBackground(Color.orange);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    public static void main(String args[]) {
    Interface window = new Interface();
    window.setLocation(250,350);
    window.setTitle("FlowLayout");
    window.pack();
    window.setTitle("Test");
    window.setVisible(true);
    public class ButtonHandler implements ActionListener {
    public void actionPerformed( ActionEvent e )
    System.exit(0);
    Thanks alot! :)

    By default the content pane of the JFrame uses a Border Layout. So you should:
    1) Create a JPanel
    2) Set the layout of the JPanel to FlowLayout
    3) add the buttons to the panel
    4) add the panel to the content pane
    5) add your text area to the content pane
    Read this section from the Swing tutorial on "Using Layout Managers":
    http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

  • Sender SMTP Adapter / Content Based Routing / Mapping of an attachement

    Hi all,
    I'm still working on my SMTP --> PI --> Proxy scenario (asynchronous). I've tried several different properties of my sender communication channel (type = mail), but I didn't find the correct configuration. Hopefully it exists.
    I'm working with PI 7.0 SP10.
    I get an inbound message via Mail using sender SOAP Adapter. The message payload itself is an attachement. Now I'd like to do the following:
    a) Content Based Routing in Receiver Determination based on the message subject
    b) Mapping of the Attachement XML message to my inbound proxy interface
    Now, trying to do so, I didn't get it work. When I use XIPAYLOAD with keep attachements, I get two attachements in my inbound message (one in XI mail package format having the subject within, one with the IDoc structure I'd like to map). How can I assign the second attachement to be used for my message mapping?
    When I use XIALL instead of XIPAYLOAD, I think the mapping will work but my subject for content based routing will be lost, right? That one I didn't get running because of another failure, so I don't know the exact behaviour of the adapter for that configuration.
    Anybody out there who know the correct configuration for the sender mail adapter for my small scenario above?
    BR
    Holger

    Hi Stefan,
    sorry for misunderstanding, for sure I'm using the mail adapter, not the SOAP Adapter. I'm actually on the same direction. I'm using XIPAYLOAD as message protocoll (having the attachement as the content for the mapping --> correct). Furthermore I've also found the predefined context objects for the content based routing receiver determination.
    What I missed was setting the following properties in the communication channel:
    To store adapter attributes in the message header of the XI message, set the Set Adapter-Specific Message Attributes indicator.
    The following attributes are added to the XI message header if the sender makes them available, and if the Variable Transport Binding indicator is set.
    Now it's working
    BR
    Holger

  • TIFF thumbnails do not enlarge in either preview pane or content pane?

    I have CS6 Bridge and Photoshop on a new 2014 iMac.
    The thumbnail size as viewed on screen is a limited size (around 2cm x 1cm).  Enlarging the preview pane just increases the space around the thumbnail rather than the thumbnail increasing to fill the pane.  Similarly, in the folder contents panel, if I use the slider bottom right in Bridge this only inreases the size of the space around the thumbnail.  It is almost as if I have the max cache set at something really small.  But, I don't, it's set at 1000MB.
    This phenomenon applies, oddly, only to tiff files.  If I use Bridge CS6 to view jpeg or raw files from multiple cameras (.dng,.cr2) it works perfectly.  So, only tiffs is the problem. 
    Any similar problems, resolutions, greatly appreciated.  For the moment I have to use Bridge CS4 with PS CS6 as my workround.
    Thanks.

    All of a sudden my Bridge Content panel does not show any info on thumbnail
    photos, neither file number nor any metadata preferences.  Info is OK in the
    Metadata window, but not on Content pane
    Also, the file folder thumbnail icons in Content panel now have the file
    numbers super-imposed over the file instead of below.
    That is caused by accidently hit cmd+T and that command does hide the
    thumbnail info and put the name of the folder over the icon.
    Hit cmd + T again to solve this or go the menu view and deselect the Show
    thumbnail only command
    Coincidentally the font size of my Metadata panel suddenly got bigger and
    bolder, not the Keyword panel or any other, just Metadata.  Doesn't really
    bother me, but seems odd these have all just happened
    That I have not seen before but might be solved with resetting the prefs as
    Tai Lao described in his post.

  • Topic Content Pane ( div ) overlaps SideBar (TOC/Index) Pane after publishing Browser-based AirHelp, while locally it works fine.

    Hi,
    I have been facing this issue where the Topic Content Pane (<div>) overlaps the SideBar pane every time I try to open the Browser-Based AirHelp after it has been published on a server.
    Although, if I view the same locally on my machine, it appears fine.
    I'm using RoboHelp 10 to create the help and have the context sensitivity enabled for integrating the help with my software application.
    I have also created the custom window for viewing help.
    Now, considering the fact, that we are only using and testing our helpfile on the latest versions of Firefox and Chrome browsers with Flash enabled, this problem however, is not consistent. After getting published, on some machines it appears fine on both browsers and on some it only appears fine on any one of the browsers. Also, there are some machines, where the problem is seen on both browsers.
    For Example:
    When I try to view the helpfile after it has been published on a server, the following issues are observed:
    On My Machine: Topic Content pane overlaps Sidebar pane on Chrome browser and on Firefox it appears fine.
    Firefox version: 35.0.1, Chrome Version: 40.0.2214.115 m, Adobe Flash Player 11 Plugin Version: 11.7.700.202
    On Another Machine: It appears fine on both browsers.
    Firefox version: 35.0.1, Chrome Version: 40.0.2214.115 m, Adobe Flash Player 11 Plugin Version:11.6.6.2.171
    Now take a look at these images:
    (On Chrome) When Opened Locally:
    (On Firefox) After Getting Published:
    (On Chrome) After Getting Published:
    Machine 1: Topic content overlaps TOC pane
    Machine 2:  Empty white space appears at the bottom (below footer)
    After going through all the relevant information that could be found on your AirHelp forums, I couldn't find a solution.
    This issue is very critical to me right now due to the upcoming documentation releases, and i need a resolution to this ASAP. Please Help.

    Hi Jeff,
    I wrongly addressed it to Adobe. Any help through this forum would be appreciated.

  • Content pane doubt

    What exactly is the content pane and what is its purpose? I read this but am still quite confused. By the mini flow chart thing, do they mean that first i create a JFrame and then i get the contentPane for it and then i can add components like JPanel and JButton to the contentPane?
    Or can i skip the getContentPane part and directly start adding stuff like JPanel and JButtons to the JFrame? if this is true, is it preferable to do this? are there any advantages or disadvantages to doing this instead of adding components to the contentpane?
    Please help me understand this concept. Thank You.

    it's pane that contains the contents of the frame (or the rootpane, more specifically).
    You create the JFrame first.
    Then you add stuff to it's content pane. Since Java 5, you can add directly to the JFrame, and it puts things you add into the content pane for you. But it's the same thing.
    Or you can add things to your own panel, then set the panel as the content pane of the frame.
    You can't really add things to the JFrame directly without messing things up (and actually the API won't let you), cuz the rootpane is used for other things like menubars and the glasspane.

  • Sending Mail Content as Input to Java WebService through SOA

    Hi Experts,
    I am working on a SOA project in 11.1.1.6
    My project requirement is to send Mail Content (a paragraph with 3 lines with new lines in middle of statements) as input to the Java API which is deployed as webservice.
    To one of the arguments of the Java API, I need to pass this mail content as Input. Need your expert advice on the same. Thanks in Advance.
    Example of Mail Content:
    Hi,
    This is a Test Mail
    Thanks

    - create a new webservice in the composite and link it to your bpel
    - in your bpel invoke the partnerlink
    - to "format" you mail you could create a custom xsl which will create the mail in html format for you"
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output method="html"/>
    <xsl:template match="/">
    Hi,<br/>
    <br/>
    This is a Test Mail<br/>
    <br/>
    Thanks
    </xsl:template>
    </xsl:stylesheet>Or css and style the html email in a big cleaner way

  • Problem with content pane

    hi,
    if I have to add three different toolbars in same content pane.
    If I add these, each one of them gets overwrite over another. and only last one toolbar gets visible. please help. Also, I need the toolbar to keep top most when i dock them.

    shamail says - "I guess you didnt read the message carefully"
    late4ever says = "u can't add more than 1 toolbar on top"
    Did either of you bother to take the time to read the tutorial on "Using Layout Managers". A JToolBar is simply a component. Multiple components can be added to a container. By default the content pane uses a BorderLayout which only accepts 5 components (Center, North, South, East, West) which is why when you keep adding components to the same area you can only see the last one.
    When you create a JPanel, by default it uses a FlowLayout. When you add components they get added to the right of the previous component, which was why I gave you the sample code.
    I thought my previous answer was straight forward so I only included a piece of code. Here is a complete program you can run:
    import javax.swing.*;
    public class MultipleToolBars extends JFrame
         public MultipleToolBars(String strName)
              this.setTitle(strName);
              JPanel jp1 = new JPanel();
              JToolBar jtb1 = new JToolBar("tool1");
              JToolBar jtb2 = new JToolBar("tool2");
              JToolBar jtb3 = new JToolBar("tool3");
              JButton jb1 = new JButton("JB1");
              JButton jb2 = new JButton("JB2");
              JButton jb3 = new JButton("JB3");
              JButton jb4 = new JButton("TOOL1");
              JButton jb5 = new JButton("TOOL2");
              JButton jb6 = new JButton("TOOL3");
              JButton jb7 = new JButton("BUTTON1");
              JButton jb8 = new JButton("BUTTON1");
              JButton jb9 = new JButton("BUTTON2");
              jtb1.setFloatable(true);
              jtb2.setFloatable(true);
              jtb3.setFloatable(true);
              jtb1.add(jb1);
              jtb1.add(jb2);
              jtb1.add(jb3);
              jtb2.add(jb4);
              jtb2.add(jb5);
              jtb2.add(jb6);
              jtb3.add(jb7);
              jtb3.add(jb8);
              jtb3.add(jb9);
              jp1.add(jtb1);
              jp1.add(jtb2);
              jp1.add(jtb3);
              getContentPane().add(jp1);
         public static void main(String[] args)
              MultipleToolBars mtb = new MultipleToolBars("test");
              mtb.setSize(600, 75);
              mtb.setVisible( true );

  • Should a Status Bar be in the Root Pane or Content Pane?

    Hello, I wonder if you can help...
    Should a status bar be built into a JFrame (much like a JMenuBar, by extending JFrame and JRootPane along with its layout manager)?
    I have created a status bar using the method above, but it seems to be more complex than it need be; so I am wondering whether to simply add it to a JFrames content pane.
    Advantages of extending JRootPane and building the status bar as part of a frame:
    1. It allows the frames content panes south region to remain unoccupied, and thus will not conflict with a JToolPanes positioning.
    Advantages of adding the status bar to the content pane south region:
    1. Keeps the design nice and simple, so no knowledge of the root pane need be known;
    2. We can use composition (rather that inheritance) to define the frame and its parts.
    All comments are welcome.

    Hi,
    ( I search for iChat questions when I have finished in the iChat Forum)
    So the menu bar reads iChat, File,  Edit,  View, Buddies, Video, Window and Help
    There is no Buddy List open.
    There is no other window for iChat open.
    In the iChat Menu you only have access to Status.
    Is an item ticked in the list ?
    Is this a green (Available item) or  Red ( an Away one) ?
    Can you access the Accounts option ?  (Sitll in the iChat Menu)
    Is anything in here ticked ?
    In the Window menu any Logged in account should appear in the list  (Between the Next Chat and File Transfer items)
    It would be useful to know which version of iChat this is.
    If no account is ticked (iChat Menu > Accounts) or not showing in the Window Menu, plus you cannot determine the Status and you cannot access the Preferences then you need to access your Home Folder/Library/Preferences
    As the Library in the Home Holder is Invisible in Lion you will need the Finder's Go Menu > Go to Folder option  (you can use it in earlier OS versions if you want)
    Type in:-
    ~/Library/Preferences
    Find the file called com.apple.ichat.plist
    Drag it to the Trash and Restart iChat.
    This will lose all the settings in iChat that you have changed from Defaults but there is no way around this.
    9:23 PM      Saturday; August 27, 2011
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
     G4/1GhzDual MDD (Leopard 10.5.8)
     MacBookPro 2Gb( 10.6.8)
     Mac OS X (10.6.8),
    "Limit the Logs to the Bits above Binary Images."  No, Seriously

  • Content pane painting over JPopupMenu

    I have a rather complex series of overridden components (JMenuBar, JPanels, JMenus, JFrame, etc.) that I aggregate to form a 'theme frame' --- basically a 'lightweight' L&F decorated frame. The main frame is an UNDECORATED JFrame derivation, in which I basically install a derived JMenuBar class that looks and acts like the top portion of the frame's 'border' (i.e. the title bar), as well as accomodating the menu items for the frame. I then launch several of these frames from the main application, each with its own set of menus (a single top-level JMenu with a few menu items on the popup).
    My problem is this... if there are more than 1 of these frames extant after the initial start-up of the application, I can invoke the top-level menu on all of the frames, but only 1 of them actually paints it correctly... the others will show the JPopupMenu, but then the embedded content repaints AFTERWARDS, thus painting over all but the first item on the menu. What's really very bazaar is that it seems to depend totally on location of the frame on the screen (i.e. in relation to the other frames). Initially, only the top-most and/or left-most frame will paint the JPopupMenu correctly, and the rest will exhibit this "show the popup, then paint the content pane over it" behavior.
    With the help of print statements, I've been able to determine that the frame which paints the popup correctly DOES NOT get a repaint() notification on it's content-pane, whereas the others do (hence the 'cover-up' behavior of those).
    It may be useful to note that the 'content' of these frames are actually applets, which themselves have a complex set of specialized components embedded in them.
    None of the menu objects or other components involved are static to the frame class, so nothing's being shared... also, if I move one of the non-functioning windows to a different location on the screen, then the menu works fine... move it back, and the menu gets painted over again.
    I'm using JDK 1.4, JBuilder X, all components are Swing.
    Any help, please??????
    XNHillBilly

    That did the trick! I had a gut feeling it was something simple like that... I still don't fully understand exactly what was going on (why one frame would paint fine, while the others wouldn't), but that's less important than having it work correctly at this point ;-)
    Thanks mucho rykk,
    XNHillBilly

  • V-Drum Input Mapping

    Hi I'm recording MIDI drums into Logic 10 from a set of Alesis DM Lite MIDI drum pads. To enable the hi-hat and the hi-hat controller pedal to work correctly with Logic's kits, every time I load-up a kit or change a kit I have to go into Drum Kit Designer and change the Input Mapping from GM to V-Drum. Ok so it's not the end of the world having to do this, but is there any way in Logic of making V-Drum the default setting instead of GM, so that I don't have to open up Drum Designer every time and change the Input Mapping?
    Thanks
    PS I'm using Logic 10.1.0

    Thanks but no it doesn't save it, sadly. Well it sort of does I guess, but every time I change the drum kit patch, let's say from Detroit Garage to Retro Rock, it changes back to GM. Let's face it you don't do that very often per song so and it's not worth making a massive drama about (some people's reactions when they find an app doesn't do exactly what they want is like the Devil's threatened to take their first five offspring); it's just an annoyance when trying out the kits. Always have to go into Drum Kit Designer every time and change the Input Mapping back to V-Drum. Sadly there aren't any settings on the DM Lite to adjust its output to suit. I was hoping there'd be something in the MIDI tab of the Logic Preferences screen, but there isn't. Not even when all the Advanced Controls checkboxes are checked.

  • Posting key 31 is ignored when processing Batch Input Map

    Hi,
    I have a problem when uploading an ascii file via RFBIBL00 to generate a batch input map. The map holds vendor and account bookings. The file looks like this:
    0MapName     001sap_user            X/
    1FB01                12062007YR0001120620076 EUR  ...
    2BBSEG                         31/         //            3381,00/...
    2BBSEG                         40/         //            1111,00/...
    The file uploads fine, the batch input map is created. Then I start to process the map. Transaction FB01 is filled with the necessary information. But instead of the starting with posting key 31 it starts with key 40. Field lengst, size of the 31 line is identical to the line with posting key 40 and 50 (expect for some fields like cost center, tax code,... which are not filled in the 31 line). For me it looks like that the line with the posting key 31 is totally ignored. oO
    What could be the problem? Where to check?
    Thank you for your help.
    best regards
    Hasan

    problem solved,
    thank you anyway

  • Content Pane Problem

    Greetings!
    I'm facing two related problems in developing a Java Applet.
    My applet class extends JApplet.
    1) The current default layout of the whole window (not individual
    components) seems to be a flowLayout. I'd like to set the layout to a
    gridBagLayout, however the setLayout command does not seem to be
    understood (my compiler is eclipse, JRE 1.5.0 and JDK 5.0), so I
    cannot get the following code to work, no specific error msg
    generated:
    getContentPane.setLayout(new GridBagLayout);
    2) similar problem, cannot setBackground or setForeground of the
    overall pane.
    Please Advise, thanks.
    -Darum

    The essentials of the code in question:
    public class STMapplet extends JApplet implements ActionListener{
         getContentPane.setLayout(new GridBagLayout());
    The whole code:
    public class STMapplet extends JApplet implements ActionListener{
         //Creat Public Text Area with 10 rows, 5 columns
         JTextArea text = new JTextArea(10,20);
         //Set the contentPane (overall applett) layout
         getContentPane.setLayout(new GridBagLayout());
         //Generate image public object and set location
         Image picture;
         int imageX = 175;
         int imageY = 50;
         //frame specs, # of frames, time between frames (ms)
         int NUM_FRMS = 65;
         int MAX_FRMS = 65;
         long FRMRATE = 7;
         //Declare variables
         boolean highV = false;
         boolean lowV = false;
         boolean highI = false;
         boolean lowI = false;
         // Declare Public image URLS, will be established later during paint method
         // Use the same URLs for LILV and HIHV
         URL hVhI;
         URL hVlI;
         URL lVhI;
         //Border URLs
         URL IMGBorderTop;
         URL IMGBorderLeft;
         URL IMGBorderRight;
         URL IMGBorderBottom;
         Image BORDERTOP;
         Image BORDERLEFT;
         Image BORDERRIGHT;
         Image BORDERBOTTOM;
         //Declare Public Buttons
         JButton highVButton;
         JButton lowVButton;
         JButton highIButton;
         JButton lowIButton;
         JButton SCAN;
         * constraint construction for layout
         * addGB adds a component to the panel that has a grid bag layout
         GridBagConstraints constraints = new GridBagConstraints();
         void addGB(JPanel panel, Component component, int x, int y){
              constraints.gridx =x;
              constraints.gridy = y;
              panel.add(component, constraints);     
         * Build User Interface
         public void init()
              //Generate buttons for each of the conditions
              SCAN = new JButton("Begin Scanning");
              highVButton = new JButton("1.00");
              lowVButton = new JButton("0.07");
              highIButton = new JButton("2.00");
              lowIButton = new JButton("0.10");
              //add action detection, the action listener is this
              SCAN.addActionListener( this );
              highVButton.addActionListener( this );
              lowVButton.addActionListener( this );
              highIButton.addActionListener( this );
              lowIButton.addActionListener( this );
              //create viewing panel with gridbag layout
              JPanel panel = new JPanel(new GridBagLayout());
              //create pane for text and add to content pane
              getContentPane().add( "East", new JScrollPane (text));
              //add buttons and headers to panel and add panel to pane
              addGB(panel, new JLabel("Voltage (V)"),0,1);
              addGB(panel, new JLabel("Current (nA)"),0,4);
              addGB(panel, highVButton,0,3);
              addGB(panel, lowVButton, 0,2);
              addGB(panel, highIButton, 0,6);
              addGB(panel, lowIButton,0,5);
              addGB(panel, SCAN, 0, 0);
              getContentPane().add("West" , panel);
              //author
              text.append("@Darin Bellisario\n");
         * Display image according to buttons pressed, called with repaint()
         public void paint(Graphics g){
              //Draw Border
              //Get URLs
              try { IMGBorderTop = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/IMGBorderTop.jpg");} catch (Exception e){}
              try { IMGBorderRight = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/IMGBorderRight.jpg");} catch (Exception e){}
              try { IMGBorderLeft = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/IMGBorderLeft.jpg");} catch (Exception e){}
              try { IMGBorderBottom = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/IMGBorderBottom.jpg");} catch (Exception e){}
              // Draw
              BORDERTOP = getImage(IMGBorderTop, "IMGBorderTop.jpg");
              BORDERRIGHT = getImage(IMGBorderRight, "IMGBorderRight.jpg");
              BORDERLEFT = getImage(IMGBorderLeft, "IMGBorderleft.jpg");
              BORDERBOTTOM = getImage(IMGBorderBottom, "IMGBorderBottom.jpg");
              g.drawImage(BORDERTOP,imageX - 49, imageY - 20, this );
              g.drawImage(BORDERRIGHT,imageX + 613, imageY, this );
              g.drawImage(BORDERLEFT,imageX - 49, imageY, this );
              g.drawImage(BORDERBOTTOM,imageX, imageY + 613, this );
              //     Display Appropriate image (HIHV & LILV same image)
              if( (highV == true && highI == true) || (lowV == true && lowI == true) ){
                   for (int i = 1; i<= NUM_FRMS; i++){
                             //Display first part of pic
                             try { hVhI = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/LILV&HIHV" + i + "of" + MAX_FRMS + "%20copy.jpg");
                             picture = getImage(hVhI, "LILV&HIHV" + i + "of" + MAX_FRMS + "%20copy.jpg");
                             g.drawImage(picture,imageX,imageY,this);
                             //wait
                             Thread.sleep(FRMRATE);
                             }catch (Exception e){System.out.println("the wait thing fucked up");}
              } else      if( (highV == true && lowI == true) ){
                   for (int i = 1; i<= NUM_FRMS; i++){
                             //Display first part of pic
                             try { hVlI = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/LIHV" + i + "of" + MAX_FRMS + "%20copy.jpg");
                             picture = getImage(hVhI, "LIHV" + i + "of" + MAX_FRMS + "%20copy.jpg");
                             g.drawImage(picture,imageX,imageY,this);
                             //wait
                             Thread.sleep(FRMRATE);
                             }catch (Exception e){System.out.println("the wait thing fucked up");}
              } else      if( (lowV == true && highI == true) ){
                   for (int i = 1; i<= NUM_FRMS; i++){
                             //Display first part of pic
                             try { lVhI = new URL("http://ase.tufts.edu/chemistry/sykes/Applets/STMapplet/HILV" + i + "of" + MAX_FRMS + "%20copy.jpg");
                             picture = getImage(hVhI, "HILV" + i + "of" + NUM_FRMS + "%20copy.jpg");
                             g.drawImage(picture,imageX,imageY,this);
                             //wait
                             Thread.sleep(FRMRATE);
                             }catch (Exception e){System.out.println("the wait thing fucked up");}
         //change image based on what buttons pressed. When an action is performed, the actionlistener (this) calls actionperformed
         public void actionPerformed (ActionEvent e){
              if (e.getSource() == highVButton){
                   highV = true;
                   lowV = false;
                   text.append("Voltage on High\n");
              if (e.getSource() == lowVButton){
                   lowV = true;
                   highV = false;
                   text.append("Voltage on Low\n");
              if (e.getSource() == highIButton){
                   lowI = false;
                   highI = true;
                   text.append("Current on High\n");
              if (e.getSource() == lowIButton){
                   lowI = true;
                   highI = false;
                   text.append("Current on Low\n");
              if (e.getSource() == SCAN){
                   text.append("Scanning\n");
                   repaint();
    Many Thanks for Any Aid!
    -Darum

  • Fitting JPanel perfectly inside content pane of JFrame

    Say I have a JPanel with size W x H that I want to add to a JFrame such that the JFrame will be sized as small as possible while still fitting the panel inside its content pane. Is there a method in JPanel that I can overwrite or a specific method of adding to a JFrame that I can use to accomplish this, or do I need to calculate the JFrame's size with getInsets()?
    Thanks.

    If I do this...
    JFrame frame = new JFrame("Pack Test");
    JPanel panel = new JPanel();
    panel.setSize(300, 300);
    frame.add(panel);
    frame.pack();
    frame.setVisible(true);...the resulting content pane is most definitely not 300x300 pixels. What am I doing wrong?

Maybe you are looking for