How to associate Flex Dockbar to JPanel instead of JFrame

Hello
I have got JAVA 1.6 application consists of main frame with two parts as left JTree and central main JPanel. On base sselected item on the left tree i switch panels on central main panel. These panels which are shown on central panel consist of windows that I need to make as dockable(Flexdock framework). I've found some examples but all work with JFrame as main container. When I use it for JPanel the relevant dockbar was displayed withing my JFrame componennt and not JPanel.
Can somebody help me how to do it with this framework?

First of all, to enable scrolling you should add your Panel into a JScrollPane:
jPanel1 = new LinesRectsOvalsJPanel();
JScrollPane jscroll = new JScrollPane(jPanel1);
PathwayViewer.getContentPane().add(jscroll );Since your Panel has no size, and no components on it, it will assume the panel is of size (0,0). To prevent this from happening, you need to override the getPreferredSize() method of the LinesRectsOvalsJPanel... add following to the LinesRectsOvalsJPanel class...
private Dimension bckground = new Dimension(img.getIconWidth(), img.getIconHeight());
public Dimension getPreferredSize() {
        Dimension dim = super.getPreferredSize();
        return new Dimension(Math.max(dim.width, bckground.width), Math.max(dim.height, bckground.height));
}This means you need to get
"ImageIcon img = new ImageIcon(FileLocation);" out of the paintComponent method (what you need to do anyway !!! every time your component is painted, the image is recreated !!!)
You might achieve the same if you override the getMinimumSize() method... (The size of the panel minimum needs to be the size of the bckground, no matter what components are on it...)
Hope it helps

Similar Messages

  • How to have focus in 2 JPanels on 1 JFrame?

    Hey all..
    Like i wrote in the subject, how can i do that?
    I have 2 JPanels in 1 JFrame. 1 top JPanel and 1 buttom JPanel. I've a keylistener in top JPanel and a buttonslistener in buttom JPanel. When i press on the button on the buttom JPanel, then my keylistener wont trigger in the top JPanel.
    Plz help.
    Thx.

    The whole point to window focus is to avoid this! There is at most one focused component per window.
    As a rule of thumb, when someone uses a KeyListener, they're mistaken. You should be using key binding. This can make your focus problems go away, since you can choose to associate the keyStoke with the whole window, not just the focused component.
    [http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html]

  • How can i change an existing JPanel from a JFrame after an event happens?

    Good day!
    i'm new in java programing and im trying to build a GUI for a for a small inventory system.
    here's a part of my code............
    if(e.getSource()==invButton){
                   if(username.equals(storekeeper)){
                        cont.add(new Equipment(cont,deck,username),"equipment");
                        deck.show(cont,"equipment");
                        cont.remove(this);
                   }else{
                        cont.add(new EquipmentEmployee(cont,deck,username),"equipmentEmployee");
                        deck.show(cont,"equipmentEmployee");
                        cont.remove(this);
    my code calls a new class called Equipment.java after a button is pressed and add it into a frame.
    but the problem is nothings happened. my code didn't work.
    can anyone help me fix my problem?..
    thanx!!...

    my code calls a new class called Equipment.java after a button is pressed and add it into a frame.
    but the problem is nothings happened. my code didn't work.Did you add the action listener to your button? Like below:
    invButton.addActionListener(this);

  • How to associate lines in a text file as an elements of the Vector?

    Hi!
    I have used BufferedReader(new FileReader(c:/java/MyText.txt)) to read from MyText.txt file. Now I know how to load content of this file (every line in file describes each photo in my photo-set) into a Vector. But how to associate lines of MyText.txt as an elements of the Vector?
    Thanks Felipe for his help.
    DM.

    Thank you telism,
    Let me tell you the whole story.
    I'm trying to write an application which has to show my image files (set of photos) with a text description. The list of image files placed into the JList. So, when I select a file from the JList it shows me an image (everything is OK).
    But, every image has it's text description in MyText.text file. It's a file with each text line for every image. Actually, I am trying to connect two actions - showing my image and setting it's specified text line description (from MyText.txt) in a JTextArea. I thought that the best way to do this with my text it is like I did it with my images through Vector. But No Success.
    Can You help me on that? If You will show me how to do it on my example I will really appreciate it.
    Thank You DM.
    Here is my application:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class UnitA extends JPanel implements ListSelectionListener {
    BasicUnitA Myapplet;
    JPanel listPanel, picturePanel;
    Vector imageNames1;
    JList list1;
    JLabel picture1;
    JScrollPane listScrollPane1, pictureScrollPane1, TSP1;
    JTextArea TA1;
    int index;
    UnitA (BasicUnitA parent, boolean p1, boolean p2) {
    Myapplet=parent;
    //Read image names from a properties file
    ResourceBundle imageResource1;
    try{
    imageResource1 = ResourceBundle.getBundle("imagenames1");
    String imageNamesString1 = imageResource1.getString("images");
    imageNames1 = parseList(imageNamesString1);
    } catch (MissingResourceException e) {
    System.err.println("Please, add properties file with image names.");
    System.exit(1);
    //Create one list of images and put it in a scroll pane and panel
    list1 = new JList(imageNames1);
    list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    list1.setSelectedIndex(0);
    list1.addListSelectionListener(this);
    listScrollPane1 = new JScrollPane(list1);
    listScrollPane1.setPreferredSize(new Dimension (120,120));
    //Set up the picture label and put it in a scroll pane
    ImageIcon firstImage1 = new ImageIcon("java/Applications/images/fotos/" +
    (String)imageNames1.firstElement());
    picture1 = new JLabel(firstImage1);
    picture1.setPreferredSize(new Dimension (firstImage1.getIconWidth(),
    firstImage1.getIconHeight()));
    pictureScrollPane1 = new JScrollPane(picture1);
    pictureScrollPane1.setPreferredSize(new Dimension (500,360));
    pictureScrollPane1.setBorder(BorderFactory.createCompoundBorder(
    BorderFactory.createCompoundBorder(
    BorderFactory.createLoweredBevelBorder(),
    BorderFactory.createEmptyBorder(5,5,5,5)),
    BorderFactory.createLineBorder(Color.black)));
    pictureScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLL
    BAR_ALWAYS);
    TA1 = new JTextArea();
    TA1.setLineWrap(true);
    TA1.setWrapStyleWord(true);
    TA1.setEditable(false);
    TA1.setFont(new Font("Serif", Font.PLAIN, 16));
    TSP1 = new JScrollPane(TA1);
    TSP1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_
    ALWAYS);
    TSP1.setPreferredSize(new Dimension(500,40));
    TSP1.setBorder(BorderFactory.createCompoundBorder(
    BorderFactory.createCompoundBorder(
    BorderFactory.createLoweredBevelBorder(),
    BorderFactory.createEmptyBorder(5,5,5,5)),
    BorderFactory.createLineBorder(Color.black)));
    public void valueChanged(ListSelectionEvent e) {
    if (e.getValueIsAdjusting()) return;
    JList theList1 = (JList)e.getSource();
    if (theList1.isSelectionEmpty()) {
    picture1.setIcon(null);
    TA1.setText(null);
    } else {
    index = theList1.getSelectedIndex();
    ImageIcon newImage1 = new
    ImageIcon("java/Applications/images/fotos/" +
    (String)imageNames1.elementAt(index));
    picture1.setIcon(newImage1);
    picture1.setPreferredSize(new Dimension (newImage1.getIconWidth(),
    newImage1.getIconHeight()));
    picture1.revalidate();
    try{
    BufferedReader reader = new
    BufferedReader(new FileReader("c:/java/Applications/MyText.txt")));
    String str;
    while((str = reader.readLine()) != null) {
    TA1.setText(TA1.getText()+str);
    reader.close();
    }catch(IOException evt){};
    protected static Vector parseList(String theStringList) {
    Vector v = new Vector(10);
    StringTokenizer tokenizer = new StringTokenizer (theStringList, " ");
    while (tokenizer.hasMoreTokens()) {
    String image = tokenizer.nextToken();
    v.addElement(image);
    return v;

  • How to implement "setModal " cocept for JPanel ???

    Hi all,
    We have setModal option for JDialog in Java swings.......
    How do i implement the same concept when i am using JPanels instead of JDialog.
    thanks

    Not easily, that's for sure. I've been through the JDialog source with the idea of copying the functionality but it uses package local methods into other swing classes which are unavailable outside it.
    JDialog sets up it's own private event pump, and sits on the dispatcher thread, not letting anything else in until it finishes. The problem is that this event pump uses methods within swing unavailable to ordinary mortals.
    You should ask yourself if you really need full modal behaviour or would, for example, local to a thread do the job.
    Actually it's only a problem if you want to use another kind of window than JDialog, which is what I presume you mean since a JPanel can be placed inside a JDialog and work fine.
    Edited by: malcolmmc on Jan 20, 2009 1:35 PM

  • How to get report in excel format instead of pdf from oracle forms.

    Hi,
    How to get report in excel format instead of pdf from oracle forms.
    Form & Report developer 10g
    report format .rdf

    create a report using report builder.
    call the report from form using the following procedure
    DECLARE
         RO_Report_ID REPORT_OBJECT;
         Str_Report_Server_Job VARCHAR2(100);
         Str_Job_ID VARCHAR2(100);
         Str_URL VARCHAR2(100);
         PL_ID PARAMLIST ;
    BEGIN
    PL_ID := GET_PARAMETER_LIST('TEMPDATA');
         IF NOT ID_NULL(PL_ID) THEN
    DESTROY_PARAMETER_LIST(PL_ID);
         END IF;
         PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
         RO_Report_ID := FIND_REPORT_OBJECT('RP2RRO');
         Add_Parameter(pl_id,'P_SUPCODE',TEXT_PARAMETER,:CONTROL.S_CODE);
    Add_Parameter(pl_id,'P_INVOICE_NO',TEXT_PARAMETER,:CONTROL.IN_NO);
    Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, 'INVOICE_REG_DETAILS.rep');
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, FILE);
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'SPREADSHEET');
         SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, 'rep_dbserver_frhome1');
         Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
         Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH('rep_dbserver_frhome1') + 2, LENGTH(Str_Report_Server_Job));
         Str_URL      := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=rep_dbserver_frhome1';
         WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
         DESTROY_PARAMETER_LIST(PL_ID);
    END;

  • How do I add multiple JPanels to a JFrame?

    I've been trying to do my own little side project to just make something for me and my friends. However, I can't get multiple JPanels to display in one JFrame. If I add more than one JPanel, nothing shows up in the frame. I've tried with SpringLayout, FlowLayout, GridBagLayout, and whatever the default layout for JFrames is. Here is the code that's important:
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import javax.swing.*;
    public class CharSheetMain {
          * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              CharSheetFrame frame=new CharSheetFrame();
              abilityPanel aPanel=new abilityPanel();
              descripPanel dPanel=new descripPanel();
              frame.setLayout(new FlowLayout());
              abilityScore st=new abilityScore();
              abilityScore de=new abilityScore();
              abilityScore co=new abilityScore();
              abilityScore in=new abilityScore();
              abilityScore wi=new abilityScore();
              abilityScore ch=new abilityScore();
              frame.add(aPanel);
              frame.add(dPanel);
              frame.validate();
              frame.repaint();
              frame.pack();
              frame.setVisible(true);
    }aPanel and dPanel both extend JPanel. frame extends JFrame. I can get either aPanel or dPanel to show up, but not both at the same time. Can someone tell me what I'm doing wrong?

    In the future, Swing related questions should be posted in the Swing forum.
    You need to read up on [How to Use Layout Managers|http://download.oracle.com/javase/tutorial/uiswing/layout/index.html]. The tutorial has working example of how to use each layout manager.
    By default the content pane of the frame uses a BorderLayout.
    For more help create a [SSCCE (Short, Self Contained, Compilable and Executable, Example Program)|http://sscce.org], that demonstrates the incorrect behaviour.
    The code you posted in NOT a SSCCE, since we don't have access to any of your custom classes. To do simple tests of adding a panel to frame then just create a panel, give it a preferred size and give each panel a different background color so you can see how it works with your choosen layout manager.

  • I just upgraded from Express to Pro.  When I open a project in Finder and neither Express nor Pro are running, it always opens in Express.  "Open With ..." says Express is the default.  How can I make Pro the default instead?

    I just upgraded from Logic Express to Pro.  When I open a project in Finder and neither Express nor Pro are running, it always opens in Express. I now want projects to open in Pro.  "Open With ..." says Express is the default.  How can I make Pro the default instead?

    Well, when I've done things like that it always sems like a good idea to keep an application that you know the file will definitely open in...

  • How to associate a test message with a change document

    I am using solution manager 7.01.
    accessing my change documents through the workcenter I need to create a new test message - so I use the Create transaction button on the button bar, Service Process, Test Message
    Then I am in the create test message screen.  However from here I cannot see how to associate my test message with either the change document that I was processing or to the maintenance cycle.
    Ideally I want to link the test message to the change document however at least to the maintenance cycle.
    How do I do this?
    Am I creating the test message in an incorrect way?
    regards
    Marina

    Anyone?  Does no one use Test Messages?

  • How to associate 1997-2003 Word doc files with Word 2010?

    Hi
    I am surprised not to be able to find out how to associate word 1997-2003 Word files with Wrod 2010. The object is to have Word 2010 open the document when I click on the document. Many of my Word 1997-2003 documents were created using Word 2010.
    When I try to use the associations function in Windows 7 I cannot find the Word program. Checking "Properties" on the Word Icon leads to a program called "CVH.EXE" which does nothing when I try to open doc files with it.
    Thank you.
    David
    lifeform23

    Hi,
    From your description , I understand that you want to open the prior Word doc files  in Word 2010.
    You can refer to the KB article that resolve this issue:
    How to open and save Word, Excel, and PowerPoint 2007 or 2010 files in earlier versions of Office programs
    http://support.microsoft.com/kb/924074
    Sincerely,
    Harry 

  • How do i show the filename.type instead of the entire file path?

    How do i show the filename.type instead of the entire file path?
    I want it to show "ProgramSetup.exe" instead of "C:/Program Files/Oracle/JavaFX/ProgramSetup.exe"
    I have created a JavaFX program with the help of my manager
    below are the code
                   File file = fileChooser.showOpenDialog(Admin.mainStage);
                   if (file != null) {
                        textFiles.setText(file.getAbsolutePath());
                        String absolutePath = file.getAbsolutePath();
                        //String fileName = new File(absolutePath).getName();the reason i put the last line as // because it has error on that line....
    if i remove the last line, it will display but with the full path....
    i search through google and the guide on many forums aren't clear to me.....some said there are 2 ways but i tried and it is not working, atleast for me...maybe i left out something or what....can anyone help me on this?

    You don’t need the absolutePath:
    File file = fileChooser.showOpenDialog(Admin.mainStage);
                   if (file != null) {
                        textFiles.setText(file.getName());
                               }

  • How can i use the project code instead of project xml?

    hello
    i use the sessionbean+toplink structure,after i finish the o-r mapping by using the mapping work bench,i generate the project xml file,then in the "session.xml" file,i refer to the project xml,then i can use it from sessionbean.
    i hear that if i use the project code instead of project xml file,it will be more performant,is that true?
    otherwise,how can i use the project code instead of project xml file?i mean, in "session.xml", i can use the "<project-xml>" tag to refer to the project xml file,then in my session bean,i get the server session by read the "session.xml" file.but if i use the project code,how can i refer it from the "session.xml"?the examples that come with the toplink installation only tell me how can i use the project xml file within the session bean,it don't give me any clue about using the project code in the sesion bean,who can give me a step-by-step instruction and code snippet?
    thank you very much?

    There is a slight performance gain during session load at startup but there is no difference at runtime. The choice of which to use is dependent upon you build process. Whether it is easier to submit a new version of the class into the comile build process vs an XML file. In most cases it is just a preference of the development team.
    When you use the project-class you'll need to generate the source code and compile it into your system. Typically it is packaged with the persistent classes. You may need to configure your environment so that the class-loaders have access to these classes (same for the XML case).
    When using the project-class you simply replace the project-xml entry like this:
    <project-class>oracle.toplink.demos.employee.relational.EmployeeProject</project-class>
    The DTD for the session.xml file is found at <TOPLINK_HOME>\core\sessions_4_5.dtd. It is also in the documentation at:
    http://otn.oracle.com/docs/products/ias/doc_library/90200doc_otn/toplink.903/b10064/a-sessio.htm#634246
    Doug Clarke
    Product Manager
    Oracle9iAS TopLink

  • How can i select the next column instead of next row when press enter key

    I need to know how can i select the next column instead of next row when i press the enter key.By default ,when i press enter key the next row is selected and the column remain unchanged but I wants opposite that is the row should remain unchanged but column index will changed.
    Thanks to all.

    Well, the right arrow key will already move you to the next column, so the easiest way to do this is to modify the InputMap to have the Enter key invoke the same Action as the right arrow key.
    You can search the forum for my "Table Actions" (without the space) example that will show you how to do this.

  • How to set Tab ordering in JPanel

    hi all
    i add a JPanel on a JFrame and Various swing Controls on that JPanel. now i want to change tab ordering of components present in my JPanel.
    please guide me how can i do this. i have tried setFocusTraversalPolicy but it does not work with JPanel.

    You should read the article from Sun:
    "How to Use the Focus Subsystem"
    http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html
    Moshe

  • How to associate a button with the selection/unselection of a JTable?

    hi,
    how to associate a button with JTable in this manna? i want to disable a button once there is no selection in the JTable, and enable the button when there is a selection. to associate the selection it is easy: just make an eventAction for the button on the click in the JTable and check whether there is a selection. but how to do this with the unselection? hope anyone can give me any hint. thanx!

    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Test extends JFrame {
        String[] head = {"One","Two","Three"};
        String[][] data = {{"1-1","1-2","1-3"},{"2-1","2-2","2-3"},{"3-1","3-2","3-3"}};
        JTable jt = new JTable(data,head);
        public Test() {
         setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
         Container content = getContentPane();
         content.add(new JScrollPane(jt));
         jt.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
             public void valueChanged(ListSelectionEvent lse) {
              if (lse.getValueIsAdjusting()) return;
              if (jt.getSelectionModel().isSelectionEmpty()) {
                  System.out.println("Nothing Selected");
              } else {
                  System.out.println("Something Selected");
         setSize(500,500);
         show();
        public static void main( String args[] ) { new Test(); }
    }

Maybe you are looking for

  • Non-ASCII Characters Appear In Path Name

    I've had this happen before over SSH via PuTTY on a Windows Host but now it's happening just in Linux. I'm testing out my first attempt at remastering the Arch Live CD and my home directory never got created while running rc.local, when I tried to ex

  • Nokia X6 voip support

    Hi guys, does anyone know if Nokia X6 can support voip or sip? I have searched in forum and Google but to no avail. Its not clear whether it can support voip. I am looking to buy X6. If it doesn't have voip, I might have to go for Nokia E71 which can

  • How do I get iTunes to recognize that I have already downloaded a song?

    I have a song I have purchased and downloaded.  When looking at the "Songs" view the song is listed twice.  One with a cload download button next to it even though I already have it downloaded.  I deleted the existing file and it was still listed twi

  • My z2 has 17.1.2.A.0.314 firmware , my wife's is 17.1.A.2.55

    Hello : My z2 has 17.1.2.A.0.314  firmware , my wife's is 17.1.A.2.55 . Weird - In the phone it says it is all updated ? Can you undate it manually ? Thanks Solved! Go to Solution.

  • URLConnection throwing FileNotFoundException

    Hi,           I'm trying to open an URLConnection to a servlet on our Weblogic 4.5.1           server. I can open a static HTML URL with no problem, but when I try to           open the servlet I get a FileNotFoundException thrown. The servlet I'm