Swapping JSplitPane

public static void setCurrentPane (JSplitPane newPane){
          contentHolder.remove(currentPane);  //contentHolder is a JPanel, currentPane is JSplitPane
          System.out.println ("currentPane removed");
          currentPane = newPane;
          contentHolder.add(currentPane);
          System.out.println ("currentPane added");
     }I have a main class which includes the above method. In the main class, there is also a JFrame which holds everything. Several other classes call the setCurrentPane() method to swap the JSplitPane that is in contentHolder. It works sometimes, and other times, it causes the program to lock up. There is nothing complex in the JSplitPanes, only JButtons and JLabels and I think that I have narrowed it down to this little piece of code. The whole code for the MainClass is directly below and code that example code that calls this class is below that.
Any help is greatly appreciated.
package globalVars;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.UIManager;
import subject.MathSubject;
import subject.Science;
import subject.StarterView;
public class MainClass {
     private static JSplitPane currentPane;
     private static JSplitPane previousPane;
     private static JSplitPane oldestPane;
     private static JFrame mainWindow;
     private static Container contents;
     private static JLabel title = new JLabel();
     private static JButton subjectNavButton;
     private static java.awt.Dimension navButtonSize = new java.awt.Dimension (125, 20);
     private static JButton catNavButton;
     private static JPanel contentHolder;
     private static JLabel navLabel = new JLabel (new ImageIcon ("files/navImage.png"));
     private static JPanel navButtonHolder;
     private static java.awt.Dimension leftButtonSize = new java.awt.Dimension (180, 40);
     private static java.awt.Dimension rightButtonSize = new java.awt.Dimension (120, 160);
     private static int dividerLocation = 200;
     private static int dividerSize = 1;
     private static JPanel northPanel;
     private static ButtonListener buttonListener = new ButtonListener();
     public static java.awt.Dimension getRightSize(){
          return rightButtonSize;
     public static int getDividerLocations (){
          return dividerLocation;
     public static java.awt.Dimension getLeftSize (){
          return leftButtonSize;
     public static int getDividerSize(){
          return dividerSize;
     public static void setSubjectButton (String s){
          subjectNavButton.setText(s);
     public static void setCatButton (String s){
          catNavButton.setText(s);
     public static void setCurrentPane (JSplitPane newPane){
          oldestPane = previousPane;
          contentHolder.remove(currentPane);
          System.out.println ("currentPane removed");
          previousPane = currentPane;
          currentPane = newPane;
          contentHolder.add(currentPane);
          System.out.println ("currentPane added");
     public static void setTitle (String s){
          title.setText(s);
          title.setFont(title.getFont().deriveFont(18.0f));
     public static void main (String [] args){
          try {
               UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          catch (Exception e){
               JOptionPane.showMessageDialog(null, "Cannot load system look and feel, using Java default. This may require re-installing JAVA");
          mainWindow = new JFrame();
          contents = mainWindow.getContentPane();
          previousPane = null;
          oldestPane = null;
          currentPane = new StarterView();
          subjectNavButton = new JButton ("Subject Nav Button");
          subjectNavButton.setPreferredSize(MainClass.navButtonSize);
          subjectNavButton.addActionListener(buttonListener);
          catNavButton = new JButton ("Category Nav Button");
          catNavButton.addActionListener(buttonListener);
          catNavButton.setPreferredSize(MainClass.navButtonSize);
          mainWindow.setDefaultCloseOperation( javax.swing.WindowConstants.EXIT_ON_CLOSE );
          contentHolder = new JPanel (new BorderLayout());
          setTitle ("Subjects");
          northPanel = new JPanel (new FlowLayout (FlowLayout.LEFT));
          northPanel.add(subjectNavButton);
          northPanel.add(new JLabel (new ImageIcon ("files/navImage.png")));
          northPanel.add(catNavButton);
          northPanel.add(new JLabel (new ImageIcon ("files/navImage.png")));
          northPanel.add(title);
          contentHolder.add(northPanel, BorderLayout.NORTH);
          contentHolder.add(currentPane, BorderLayout.CENTER);
          contents.add(contentHolder);
          mainWindow.setSize(755, 555);
          mainWindow.setTitle("StepAhead Interactive tools");
          mainWindow.setLocationRelativeTo(null);
          mainWindow.setVisible(true);
     static class ButtonListener implements ActionListener {
          public void actionPerformed (ActionEvent e){
               if (e.getSource() == catNavButton){
                    System.out.println ("Category HOYO");
                    //replaces the current display with the Category Associated with that Button
               if (e.getSource() == subjectNavButton){
                    if (subjectNavButton.getText().equals("Math")){
                         System.out.println ("Loading up Math Subject");
                         setCurrentPane (new MathSubject());
                    if (catNavButton.getText().equals("Science")){
                         System.out.println ("Loading up Science Subject");
                         setCurrentPane (new JSplitPane());
                    //replaces the current display with the Subject Associated with that Button
                    System.out.println ("Subject HOYO");
}CODE THAT CALLS setCurrentPane method
package categories.math;
import java.awt.event.*;
import java.awt.*;
import globalVars.MainClass;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import button.rightButton;
import chapters.NumbersChapters.*;
public class Numbers extends MathCategories implements ActionListener{
     private JPanel rightPane;
     private JButton division;
     private JButton numberPatterns;
     private JButton growthRates;
     private JButton fractions;
     private JButton remainders;
     private JButton counting;
     private JButton probability;
     public Numbers (){
          super();
          rightPane = new JPanel(new FlowLayout (FlowLayout.LEFT));
          numberPatterns = new rightButton ("Number", "Patterns"); //rightButton is a class I created which extends JButton
//and pre-formats it to conform to a set look
          numberPatterns.addActionListener(this);
          numberPatterns.setPreferredSize(MainClass.getRightSize());
          growthRates = new JButton ("Growth Rates of Sequences");
          growthRates.addActionListener(this);
          growthRates.setPreferredSize(MainClass.getRightSize());
          division = new JButton ("Division");
          division.addActionListener(this);
          division.setPreferredSize(MainClass.getRightSize());
          fractions = new JButton ("Fractions");
          fractions.addActionListener(this);
          fractions.setPreferredSize(MainClass.getRightSize());
          remainders = new JButton ("Remainders");
          remainders.addActionListener(this);
          remainders.setPreferredSize(MainClass.getRightSize());
          counting = new JButton ("Counting");
          counting.addActionListener(this);
          counting.setPreferredSize(MainClass.getRightSize());
          probability= new JButton ("Probability");
          probability.addActionListener(this);
          probability.setPreferredSize(MainClass.getRightSize());
          rightPane.add(numberPatterns);
          rightPane.add(growthRates);
          rightPane.add(division);
          rightPane.add(fractions);
          rightPane.add(remainders);
          rightPane.add(counting);
          rightPane.add(probability);     
          this.setRightComponent(rightPane);
     public void actionPerformed (ActionEvent e){
          super.actionPerformed(e);
          if (e.getSource() == numberPatterns){
               MainClass.setTitle ("Number Patterns");
               MainClass.setCurrentPane(new NumberPattern());
          if (e.getSource()== division){
               MainClass.setTitle ("Division");
               MainClass.setCurrentPane(new Division());
          if (e.getSource()== growthRates){
               MainClass.setTitle ("Growth Rates of Sequences");
               MainClass.setCurrentPane(new GrowthRate());
          if (e.getSource()== fractions){
               MainClass.setTitle ("Fractions");
               MainClass.setCurrentPane(new Division());
          if (e.getSource()== remainders){
               MainClass.setTitle ("Remainders");
               MainClass.setCurrentPane(new Division());
          if (e.getSource()== counting){
               MainClass.setTitle ("Counting");
               MainClass.setCurrentPane(new Division());
          if (e.getSource()== probability){
               MainClass.setTitle ("Probability");
               MainClass.setCurrentPane(new Division());
}

panel.remove(...);
panel.add(...);
panel.revalidate();
panel.repaint();If you need further help then you need to create a [Short, Self Contained, Compilable and Executable, Example Program (SSCCE)|http://homepage1.nifty.com/algafield/sscce.html], that demonstrates the incorrect behaviour.
Don't forget to use the Code Formatting Tags so the posted code retains its original formatting. That is done by selecting the code and then clicking on the "Code" button above the question input area.

Similar Messages

  • JSplitPane JTabbedPane Canvas resize problem

    I am using a JSplitPane to separate a tree and a JTabbedPane containing java.awt.Canvas based objects.
    I have not been able to find a way to resize the split plane over the tabbed pane. I pretty sure this
    is because the Canvas is heavyweight and the split pane lightweight, but I cannot swap out the canvas
    for a JPanel (or other swing equivalent) due to performance requirements. Is there a way to allow the
    split pane to resize over the heavyweight object?
    Below is a code snippet which illustrates what I'm trying to do. Any help would be greatly appreciated.
    Thanks!
    import javax.swing.*;
    import java.awt.*;
    public class TabTest
    public static void main(String args[])
    JFrame f = new JFrame("TabTest");
    f.setSize(800,800);
    JTree left = new JTree();
    JTabbedPane right = new JTabbedPane();
    Canvas canvas = new Canvas();
    right.add("Canvas", canvas);
    JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left, right);
    f.getContentPane().add(splitPane);
    f.show();
    }

    I am using gl4java's GLAnimCanvas as the canvas based object in my application. Since
    the Swing based gl4java object is not hardware accellerated, it is way to too slow for my application
    (a 3D gui ).

  • JSplitPane not accepting Drops in Drag'N'Drop situation

    Hello,
    I'm trying to do component drag'n'drop within a JSplitPane. Things like dragging the
    bottom component into the top part and dropping it there to have the top and bottom
    components swapped.
    It recognizes the drag gesture, and the DragSource events get triggered, but the
    drop() event on the DropTarget doesn't get called at all.
    Anyone encountered something similar ?
    Thanks,
    Nilesh

    Josh,
    Thanks for the reply. I guess i forgot to mention that the Transferable interface was also
    implemented, accepting the javaJVMLocalObjectMimeType data flavor as you mentioned.
    basically i had one split pane split vertically, and i put a JLabel in both the top and bottom
    parts. When the component drop didn't seem to work, i decided to just move the label
    texts through the StringSelection transferable that java provides, and still no drop is being
    accepted. What i don't understand is why the DragSource events are all being generated
    (i get the drag started, and the dragDropEnd() when i release the dragged object, but no
    drop())
    I can provide my source code if you're interested.
    Thanks again,
    Nilesh

  • JSplitPane with external panel

    Hi,
    I want to use a JSplitPane wich:
    Displays a JTree in the left-component
    Displays application selected from JTree in right-component
    Sounds simple. The right-component has a 'card-deck' which will
    swap whenever an other application is selected in the JTree.
    I have written a short test which does almost exactly what I want.
    Problem is that a panel, which was a standalone Frame-app first,
    is not shown in the right-component (but it is running!)
    It seems that cannot put a standalone application (extending a JFrame) on a component.
    So I decided to change the application and use a JPanel in stead
    of a JFrame. The panel is accepted but isn't shown. (application is
    running though).
    I created a short testpanel_class which should be shown when
    the first app is selected from JTree.
    Current Result when JSplitPane-app is started
    ==> I get the 'home'-card first
    ==> When App2 is selected, I get correct card
    ==> When App1 is selected, the right-component is blank (app runs!)
    Herewith the codesnippet of my JSplitPane-app which is showing
    how I put the components on the left/right components:
    ===================================================
         private JSplitPane getJSplitPane() {
              if (jSplitPane == null) {
                   jLabel = new JLabel("Tekst");
                   jSplitPane = new JSplitPane();
                   jSplitPane.setLeftComponent(getJTree());               
                   myPanel.setLayout(new BorderLayout());
                   pCards.setLayout(cardlayout);
                   pCards.add("home", new JLabel("Home"));
                   pCards.add("App1", new SplitBasePanel());
                   pCards.add("App2", new JLabel("Menu2 Selected"));
                   myPanel.add(pCards, BorderLayout.CENTER);
                   myApp.getViewport().add(myPanel);
                   jSplitPane.setRightComponent(myApp);
              return jSplitPane;
    ===================================================
    And I swap the cards as follows:
    ===================================================
         public void valueChanged(TreeSelectionEvent event) {
              if (!firstRun){
    System.out.println
    ("Current Selection: " +
    jTree.getLastSelectedPathComponent().toString());
    if ((jTree.getLastSelectedPathComponent().toString()).equals("App 1")){
                   cardlayout.show(pCards, "App1");
    if ((jTree.getLastSelectedPathComponent().toString()).equals("App 2")){
                   cardlayout.show(pCards, "App2");
              firstRun = false;
    ======================================================
    Here is my application-panel to be shown
    =================================
    package application;
    import javax.swing.*;
    import java.awt.*;
    public class SplitBasePanel
         extends JPanel {
         // Panel Layout
         private JPanel c = new JPanel();
         // APPLICATION BASE FRAME
         public SplitBasePanel() {
         // Create Application panel
         c.setLayout(new BorderLayout());
         // Initialize CardDeck with basepanels
         c.add(new JLabel("my External Application"), BorderLayout.CENTER);
    }

    a) Sorry for the "code"-formatting, i just copy & paste from my developersoft.
    b) SSCCE ????
    c) I have placed this in this forum because it is not only a question about usage of swing components but also about the concept I try to implement. Maybe what I'm trying to do is just not the right concept !
    d) what do you mean by your final remark (history reply postings)?
    I do not make daily usage of this Developer Forums. So please forgive me when I don't follow the rules completely. I will post the message again in the SWING-forum and try to use the correct formatting.
    Patrick.

  • JSplitPane resizes wrong

    I have a JSplitPane, where the left side is a JList and the right side is a JPanel. When you select an item in the jlist on the left, the right side is updated by swapping in a new JPanel. But when this happens, my JSplitPane resizes, and sometimes it resizes incorrectly and doesn't give enough room to show the longest item in the jList.
    Any ideas on how I can make this work right? Thanks for your time!

    This is NOT a solution, however I have had the same thing happen and I would simple grab the split panes divider location before adding the new panel and then setting it to that location after I was done adding the panel this avoided the problem for me.

  • Another hard drive swap question - re: 8GB partition for OSX in iMac 266

    I have a Tangerine iMac 266 that I am setting up for a neighbor's son. The original 6GB hard drive was toast, so I swapped in an old 10GB drive that had previously been removed from an iMacDV 400. The 10GB "new" drive had OSX 10.3.1 and OS 9.1 on a single partition. I am aware that these early iMacs need OSX in a first partition of less than 8GB, so I expected that I would need to partition the "new" drive. However, while I was loading an install CD after powering up, the iMac booted fine into OSX, despite it NOT being located in a first partition of less than 8GB (and has continued operating well - booting multiple times in OS X and 9, surfing the net, etc...the only weirdness is a refusal of Word X to run).
    I thought this was impossible, and in researching this I found that the Apple support site says that, for this computer, "Mac OS X must be installed on a volume that is contained entirely within the first 8 GB of its ATA hard disk." see http://docs.info.apple.com/article.html?artnum=106235
    My Questions:
    Is the 8GB limit only related to iINSTALLING OSX on these machines (and not RUNNING OSX)?
    Will the machine run into problems later if a portion of the OS (i.e., during an update) gets installed outside of the first 8GB of the disk?
    One of the log files says that the driver is out of date for the RageproC, and Classic applications that require more than 4MB of VRAM say that I don't have enough VRAM to run, yet the iMac has 6MB of VRAM (2 on MB and 4 in slot as listing by the system profiler) - do I need to (or should I) reinstall the system software (I already tried loading the latest ATI drivers, but it did't help)?
    P.S. - to add more data points on the subject of RAM upgrades in these iMacs, my iMac 266 would not accept a 256MB PC-100 SO-DIMM that worked fine in an iBook and in the upper slot of a Rev. A iMac 233. Well, it accepted it, but only recognized the first 128MB.

    I believe Duane is correct. Even with Mac OS 9, you can run fine as long as all OS components used during startup are within the first 8GB of space. However, (even with Mac OS 9) as soon as something used during startup ends up beyond that limit, you will get open firmware or a gray screen at startup. The Mac OS X does not allow the installation target to exceed the limit as a preventative measure, not because it won't work at all.
    The best "non-technical" explanation I have heard as to why, is this... The IDE hardware (and its driver) can only "see" the first 8GB of space during the initial start up process before the OS is loaded. Once start up completes, control is handed to the OS, which can see the entire drive. Therefore, apps have no problem running from beyond the limit. Only components needed before the hand-off is constrained to the 8GB limit.
    FYI - On my iMac and 120GB drive, 7.78 GB (as shown in a Finder window) is the precise point where the Mac OS X Installer allows the volume to be the install target. "Precise" to with a few hundred MB's.

  • How to swap between to sets of item categories in sales order

    Hi,
    We receive Idocs from a different system that creates sales order in the R/3 system. For some of these, we want to be able to use an alternative sourcing mode - basically switch between standard POs and 3rd Party POs. The orders has many items, and we find it impractical to manually update all items - also because the order might contain different materials with maybe 5-10 different item categories, that needs to be changed to 5-10 others. This will be very difficult for our business users, since we do not have a simple naming convention of item categories to ease this.
    So we are looking for alternative ways, where we can change all items by changing on header level.
    We have thought of these alternatives :
    1. Change distribution channel. Requires all materials and customers to be set up in 2 DCs - not realistically.
    2. Change sales order types using VOV8 alternatives. This seems not to be allowed for materials in BOMs and with E consumption. See other thread named "Can not change SO order type - disallowed by item settings" for more details.
    3. What we we really need is changes on schedule line level, and I suppose we could have a logic in MV45AFZZ change this dependent on some user field. But I don't think this will work, as other settings controlled by requirement class etc. will be inconsistent.
    Proposals for this are welcome - it should be a common issue.

    Hi,
    We ended up designing a solution where item category was swapped by shipping condition. For shipping condition 11, we simulated that a specific 'usage' was active. It required a few tricks to get the Source determination to run, and a further trick to avoid a re-pricing B to nuke the pricing conditions. This is still draft code, but it seems to work :
    Enhancement points ES_SAPFV45P / VBAP_FUELLEN_10 : Ensure ‘usage’ is set according to shipping condition
    data : ld_active type c.
    data : ld_no_pricing_vwpos type c.
    constants : lc_vwpos_no_pricing(20) type c value 'VWPOS_NO_PRICING'.
    Fake change to ensure new item cat determination
    ( conditions when this is active, setting ld_active )
      if sy-subrc is initial
      and ld_active = 'X'            "Action enabled for company
      and t180-trtyp ca 'HV'.       " Create/change mode
    case vbak-vsbed.
      when '11'. " Special logic
        t184_vwpos = 'Z001'. " Special T184 usage for direct
        clear *vbap-mandt. " simulate change of *vbap
        matnr_changed = 'X'." simulate change
        ld_no_pricing_vwpos = 'X'. " Flag for suppress B repricing
      when '12'. " standard logic
        clear t184_vwpos.  " Standard T184 usage for indirect
        clear *vbap-mandt. " simulate change of *vbap
        matnr_changed = 'X'." simulate change
        ld_no_pricing_vwpos = 'X'. " Flag for suppress B repricing
      when others.
        clear ld_no_pricing_vwpos.
      endcase.
    Memory ID read in MV45AFZB, form USEREXIT_NEW_PRICING_VBAP
      export ld_no_pricing_vwpos to memory id lc_vwpos_no_pricing.
      endif.
    MV45AFZB, form USEREXIT_SOURCE_DETERMINATION : Ensure item category determinations takes ‘usage’ into consideration
    ( conditions when this is active, setting ld_active )
      if sy-subrc is initial
      and w_active = 'X'            "Action enabled for company
      and t180-trtyp ca 'HV'.       " Create/change mode
    Get higher-level item category
      clear lv_uepos. clear  gv_spp_pstyv.
      lv_uepos = vbap-uepos.
      do 10 times. " to eliminate phantom levels
      read table xvbap with key posnr = lv_uepos.
      if sy-subrc = 0 and xvbap-pstyv ne lv_zvco.
      gv_spp_pstyv = xvbap-pstyv.
      exit.
      elseif sy-subrc eq 0 and xvbap-pstyv eq lv_zvco.
      lv_uepos = xvbap-uepos.
      elseif sy-subrc ne 0.
      exit.
      endif.
      enddo.
    t184_vwpos set in FV45PFAP_VBAP_FUELLEN
      call function 'RV_VBAP_PSTYV_DETERMINE'  "Determine using T184
             exporting
               t184_auart   = tvak-auart " Order type
               t184_mtpos   = maapv-mtpos "Item category group
               t184_uepst   = gv_spp_pstyv  "Higher level-SPP item category
               t184_vwpos   = t184_vwpos " Usage from FV45PFAP_VBAP_FUELLEN
               vbap_pstyv_i = ''
             importing
               vbap_pstyv   = vbap-pstyv.
    endif.
    MV45AFZB, form USEREXIT_NEW_PRICING_VBAP : Ensure dynamic change of item categories does not trigger repricing type B.
    data : ld_no_pricing_vwpos type c.
    constants : lc_vwpos_no_pricing(20) type c value 'VWPOS_NO_PRICING'.
    Memory ID set in FV45PFAP_VBAP_FUELLENP, FORM VBAP_FUELLEN
    import ld_no_pricing_vwpos from memory id lc_vwpos_no_pricing.
    if sy-subrc is initial
    and ld_no_pricing_vwpos = 'X'.
    Skip repricing when mass change item cat
      clear new_pricing.
    endif.
    I hope someone will find it useful. Please notice that Enhancement points was required, so it will not work in older R/3 versions.

  • Filename extension in Payload Swap bean

    Hi Experts
    I have a scenario Proxy to FTPS , where I have to send an excel attachment. I have used payload swap bean in receiver channel and it is working fine as I am now able to see attachment in final destination folder however since the file name is coming from ECC and we are using dynamic configuration in PI to handle this. excel attachment is missing the extention .xls when it is being triggered from ECC and therefore in FTP folder file is getting generated but with no extention.
    I have added the extention .xls (as per the MIME header) in dynamic config and also tried to use concat function to achieve this extention to be added as final name of the file but when I did above adjustments I can see the correct name being generated in Main payload in SAP PI receiver channel monitoring but not in final destination folder, file still looks same as earlier (without any extention) , I believe since I am using payloadswapbean in module whatever I am getting in Mainpayload is being swapped by excel attachment values but not sure why the correct extention is not being shown up at final destination folders.
    Please suggest how can I get the correct file name in destination folder with the help of SAP PI, I know I can do this if ECC will add .xls in attachment name.

    Hi Mohit,
    I have tested the same scenario and it is working with PayloadSwapBean and DynamicConfiguration in the mapping and the file name correctly placed in the target.
    Receiver File CC:
    Dynamic Configuration:
    Target Directory:
    If your file name correctly set in dynamic configuration then the target file will be created correctly.
    Regards,
    Praveen.

  • Como habilitar a partição swap?

    Como um bom Linux, o Firefox OS possui algumas funções que precisam ser devidamente configuradas para uso, a partição SWAP permite espaço extra (e mais lento) para memória RAM, ajudando na abertura paralela de mais apps.
    Obtive acesso root através dos arquivos presentes neste site: http://elsimpicuitico.wordpress.com/firefoxos/
    remontei a partição /system com permissão de escrita através do seguinte comando:
    mount -o remount,rw /system
    Daí iniciei a configuração da partição SWAP, criando tanto um arquivo no SD com essa função como uma partição propriamente dita no SD.
    usando essa partição configurei o arquivo /etc/fstab e mandei ligar o swap pelo comando
    swapon -a
    mas o comando retornou o erro:
    swapon: /sdcard/.swap: Function not implemented
    Após algumas pesquisas descobri que a função de swap precisa estar habilitada no Kernel do sistema
    https://support.mozilla.org/pt-BR/questions/976573
    Segundo a pergunta acima, o kernel é responsabilidade da própria Alcatel
    Mas supostamente pode-se verificar o suporte ou não do kernel ao swap através do comando:
    cat /proc/cpuinfo
    que retorna isto:
    Processor : ARMv7 Processor rev 1 (v7l)
    processor : 0
    BogoMIPS : 501.64
    Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x0
    CPU part : 0xc05
    CPU revision : 1
    Hardware : QCT MSM7x27a FFA
    Revision : 0000
    Serial : 0000000000000000
    na linha Features é possível ver que a função "swp", abreviação de swap está disponível no kernel.
    Em outro site: http://translate.googleusercontent.com/translate_c?depth=1&hl=pt-BR&rurl=translate.google.com&sl=pl&tl=pt-BR&u=http://forum.myfirefoxos.pl/watek-Swap-file%3Fpage%3D2&usg=ALkJrhhpyk7CxJc32ip4ny3Brzzb-G6eGw
    diz que é preciso alterar uma configuração no kernel para habilitar o suporte do mesmo ao swap, e podia-se verificar este suporte no conteúdo do arquivo presente no Firefox OS:
    /proc/config.gz
    copiando para o SD e descompactando é possível ler este trecho:
    CONFIG_HAVE_KERNEL_LZO=y
    CONFIG_KERNEL_GZIP=y
    # CONFIG_KERNEL_LZMA is not set
    # CONFIG_KERNEL_LZO is not set
    CONFIG_DEFAULT_HOSTNAME="(none)"
    # CONFIG_SWAP is no set
    CONFIG_SYSVIPC=y
    CONFIG_SYSVIPC_SYSCTL=y
    # CONFIG_POSIX_MQUEUE is not set
    # CONFIG_BSD_PROCESS_ACCT is not set
    CONFIG_SWAP is not set, ou seja, o suporte ao Swap não foi habilitado durante a compilação do kernel, editar este arquivo e mandá-lo pra pasta parece não mudar muita coisa, afinal ele é só um texto reportando características já existentes do kernel, sem poder para controlá-lo.
    Mesmo sabendo disso, experimentei inserir este mesmo arquivo alterado para que o parâmetro CONFIG_SWAP esteja como CONFIG_SWAP=y, como todas as outras opções habilitadas, em uma imagem de initramfs e mandar o sistema dar boot com ela, bom, o sistema restaurou o arquivo original e seguiu seu boot normalmente.
    Sabendo isto, a lógica diz para pegar o código fonte do kernel do Firefox OS (no meu caso, o branch hamachi), alterar o arquivo .config presente em sua pasta raiz e alterar o
    # CONFIG_SWAP is not set
    para
    CONFIG_SWAP=y
    Após isso bastaria compilar, unir em uma imagem de boot com arquivos initramfs e bootimg.cfg (usar aquelas presentes no arquivo de boot original provavelmente não traria problemas) e montar uma nova imagem de boot, com o kernel já habilitado pra suportar swap
    instalá-la usando fastboot no aparelho e seguir a configuração do ponto onde o erro Function not implemented aparecia.
    aparentemente as fontes do kernel estão presentes na página do Sourceforge da Alcatel, cujo download pode ser feito aqui:
    http://sourceforge.net/projects/alcatel/files/ONE_TOUCH_FIRE_4012_20130628.tar.xz/download
    mas ele precisa deste patch: https://www.codeaurora.org/cgit/quic/lf/b2g/build/plain/patch/ics_strawberry/kernel/kernel-add-fillcolor.patch?h=v1.1
    mesmo assim esse kernel parece não ser o mais estável, como podemos ver pelos comentários aqui:
    http://forum.myfirefoxos.pl/watek-Swap-file (recomendo o uso do Google Translate, o texto está em Polonês)
    Mas alguns comentários depois há pessoas que obtiveram sucesso em usar swap, até reportam qual tipo de cartão SD é o mais adequado!
    aqui neste vídeo é mostrado o Alcatel One Touch Fire com memória swap funcionando e rodando o b2g 1.4
    http://www.youtube.com/watch?v=Uaa6OI5aopc
    Por isso é possível chegar a conclusão de que sim, é possível usar swap.
    Mas como se o código fonte do kernel fornecido pela Alcatel é defeituoso? usando a árvore de desenvolvimento android do projeto b2g, pelo processo de construção tradicional do repositório GIT do b2g:
    https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS
    Apenas alterando o arquivo de coniguração do kernel para habilitar o suporte a swap e compilando normalmente.
    Parece até que algumas pessoas usando as builds pré-compiladas do projeto Vegnux conseguem ter o swap habilitado por padrão, mas já tentei todas as builds que tenho aqui (stock da Vivo, stock da Movistar, 1.2 stable, 1.3 stable e duas do 1.4) e nenhuma tem essa característica.
    Escrevi tudo isso através de alguns dias de tentativas de habilitar o swap no meu aparelho sem sucesso. E infelizmente não tenho como compilar o b2g pelo repositório GIT pois não atendo os requisitos de hardware do computador nem tenho conexão banda larga para baixar os 12GB de arquivos necessários.
    Alguém poderia usar isto pra fazer ao menos a tentativa, afinal, encontrei pouca documentação sobre o assunto, especialmente em pt-BR.
    Espero que isso ajude a alguém que tenha como fazer outras tentativas de habilitar o SWAP no Alcatel One Touch Fire.
    Páginas que me foram úteis:
    útil para saber como manipular uma imagem de boot do android/firefoxos
    http://yorik.uncreated.net/guestblog.php?2014=15
    útil pra saber como configurar a partição SWAP e um aparelho que retorna o mesmo erro, mostrando que a falha está no kernel sem swap habilitado.
    http://modmymobile.com/forums/564-motorola-milestone-general/555311-q-what-about-swap-milestone.html
    Achei o local da fonte do kernel e vários comandos
    http://k.japko.eu/alcatel-otf-hackers-guide-1.html
    Onde baixei os arquivos com o Busybox, acesso root para o alcatel one touch fire e imagens pré-compiladas de novas versões do b2g para hamachi
    http://elsimpicuitico.wordpress.com/firefoxos/
    tutorial oficial para compilação e instalação de uma build do b2g
    https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS
    http://elsimpicuitico.wordpress.com/firefoxos/

    Rapaz, tenho gerado imagens para meu Alcatel através do repositório Git do B2G.
    Quais configurações vc acha que devem ser alteradas antes de realizar o Build? Pelo o que entendi do seu texto seria o '''.config''' no Raiz do B2G, mas nesse arquivo só possui este conteúdo:
    MAKE_FLAGS=-j3
    GECKO_OBJDIR=/home/anderson/firefoxos/B2G/objdir-gecko
    DEVICE_NAME=hamachi
    DEVICE=hamachi
    Não existe a opção '''CONFIG_SWAP''' nele. Pesquisando essa opção no conteúdo dos arquivos, o mais próximo que encontrei foi:
    ./kernel/arch/arm/configs/msm7627a_defconfig
    ./kernel/arch/arm/configs/msm7627a-perf_defconfig
    Mas, não tenho ideia se ia funcionar. Infelizmente não estou com muito tempo este mês para pesquisar, mas se me indicar o que alterar, eu faço aqui e deixo compilando, depois a gente conversa via "Mensagem particular" aqui no fórum (ou outra forma).

  • How to capture the event in driver JSplitPane

    Hi all, i have some problem with the JSplitPane.
    What i want to do is that:
    i need to capture the event throw when the user press the button in the driver of the JSplitPane, this is because i want to know wich side of the splitpane is complet visible.
    Thanks for your time!
    Luca

    I thought I would do up an example just for fun. As you drag the splitter bar the size of the two components and the splitter component is reported to the console along with the divider location. Interestinly, on my system (Windows XP, Java 1.41_02) when you move the bar downwards the divider location is consistantly two pixels past the height of the top component but when you drag the bar upwards the divider location and the height of the top component are the same.
    Does anyone have any ideas why that would be?
    Here is the test app:package splitPaneMonitor;
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.beans.PropertyChangeEvent;
    import java.beans.PropertyChangeListener;
    import javax.swing.JFrame;
    import javax.swing.JSplitPane;
    import javax.swing.JTextArea;
    public class SplitPaneFrame extends JFrame implements PropertyChangeListener  {
         public SplitPaneFrame()  {
              super ("Split pane test");
              //  Create the components to show in the split pane
              myTopComponent = new JTextArea ("This is the top component", 10, 40);
              myBottomComponent = new JTextArea ("This is the bottom component", 15, 40);
              //  Create the split pane
              mySplitter = new JSplitPane (JSplitPane.VERTICAL_SPLIT , true, myTopComponent, myBottomComponent);
              mySplitter.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, this);
              getContentPane ().setLayout(new BorderLayout ());
              getContentPane ().add (mySplitter, BorderLayout.CENTER);
         public void propertyChange (PropertyChangeEvent evt) {
              if (evt.getPropertyName () == JSplitPane.DIVIDER_LOCATION_PROPERTY)  {
                   System.out.println ("Split pane divider moved");
                   Dimension size = myTopComponent.getSize ();
                   System.out.println ("    The top component's size is: " + size.height +" h, "+ size.width + " w");
                   myBottomComponent.getSize (size);
                   System.out.println ("    The bottom component's size is: " + size.height +" h, "+ size.width + " w");
                   mySplitter.getSize (size);
                   System.out.println ("    The splitter's size is: " + size.height +" h, "+ size.width + " w");
                   System.out.println ("    The splitter divider location is: " + mySplitter.getDividerLocation ());
         private JTextArea myTopComponent;
         private JTextArea myBottomComponent;
         private JSplitPane mySplitter;
         public static void main(String[] args) {
              SplitPaneFrame appFrame = new SplitPaneFrame ();
              appFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
              appFrame.pack();
              appFrame.setVisible (true);          
    }

  • Unable to swap web app (FKA Website) deployments and cannot update configuration

    We are trying to deploy an update to one of our web apps (Hosted in Northern Europe.). Our process is to deploy to a "staging" deployment slot, then swap.
    When we try to do this we get the following error:
    Failed to swap web app slot production with slot staging: There was a concurrency conflict. Configuration update for Microsoft.Web.Hosting.Administration.WebCloudProvider failed for maximum number of attempts UpdateAppSettings. Failure details: <redacted
    as it contained deployment details>
    We also cannot apply configuration changes.
    Are there currently any issues, nothing is showing on the Azure status page?

    The issue Jim ran into was actually a temporary problem affecting a small subset of sites, and at that time it would have failed with any swap method. But the situation was resolved about an hour later, and everything should be fine now. Sorry for not
    following up earlier!

  • Satellite S50T-B - Adding RAM and swapping HDD for SSD

    HI there,
    I have recently purchased the Satelitte S50t-B laptop and have a few question about upgrading:
    1. What is the recommended RAM to add (8GB)
    2. What is the recommended SSD to add?
    3. Are there any instructions to add RAM and an SSD to my laptop?
    4. Will I void my warranty by installing more RAM and swapping the current hard drive for an SSD?
    Thank you for your help

    This notebook is listed on Toshiba page:
    http://www.mytoshiba.com.au/products/computers/satellite/s50/pspq8a-008008/specifications
    - What is the recommended RAM to add (8GB)
    The unit supports 16GB RAM, so you can add an second PC3-12800 8GB DDR3L (1600Mhz) SO-DIMM module (i.e PA5104U-1M8G)
    - 2. What is the recommended SSD to add?
    Its up to you there are different SSD drive on the market and most of the 2.5 SATA SSD drives should be compatible.
    - 3. Are there any instructions to add RAM and an SSD to my laptop?
    It looks like both parts (RAM as well as SSD/HDD) are not user upgradable since there is no separate access to the memory or HDD bay. This means that whole plastic cover at the bottom of the unit needs to be remove in order to get access to these part.
    But as far as I know this would cancel the device warranty!!!
    - 4. Will I void my warranty by installing more RAM and swapping the current hard drive for an SSD?
    If you want to keep the warranty valid, such upgrade should be performed by authorized engineer.

  • HT5625 How do I swap my Apple ID with my new one on my device?

    My iPad is asking for my old Apple ID and idk how to swap the new one onto the I pad

    Tap Settings > iCloud > scroll to bottom and tap on Delete Account. Now create a new one using your new Apple ID, etc.
    If you have changed your email address, then return to Settings > Mail, Contacts, Calendars. Tap on your mail account, scroll to bottom and tap on Delete Account. Reconfigure your new email account info.

  • Swap space problem on Windows XP

    I'm trying to install BI Publisher on Windows XP from a zip file downloaded last week (version 10.1.3.3.2). However after starting setup.exe in the install directory I get the message that my swap space = 0 Mb while 500 Mb is required. After this the installation procedure quits.
    I haven't got a clue as what the installer is referring to (swap on windows?) but I have plenty of room om my two (logical) disks, no spaces in the directory name from which I start the installer (D:\download\bipublisher\Windows\OBI\install) and about 1.5 Gb of memory free.
    Any hints what to do would be appreciated.
    tia,
    Martin

    Hi Mjb001,
    In computer operating systems that have their main memory divided into pages, paging (sometimes called swapping) is a transfer of pages between main memory and an auxiliary store, such as hard disk drive.[1] Paging is an important part of virtual memory implementation in most contemporary general-purpose operating systems, allowing them to easily use disk storage for data that does not fit into physical RAM. Paging is usually implemented as a task built into the kernel of the operating system.
    Windows 3.x creates a hidden file named 386SPART.PAR or WIN386.SWP for use as a swap file. It is generally found in the root directory, but it may appear elsewhere (typically in the WINDOWS directory). Its size depends on how much swap space the system has (a setting selected by the user under Control Panel → Enhanced under "Virtual Memory"). Please check this file.
    Regards,
    Amit Deshpande
    Persistent Systems Ltd.

  • I recently had to swap out my iphone 4s and I am having problems restoring photos and videos from icloud.  I get a message on my phone that says " the URL you are requesting is not found on this server".  Pics and videos have been deleted too.

    I recently had to swap out my iphone 4s and I am having problems restoring photos and videos from icloud.  When I restored my phone from icloud, half of my pics and videos have been deleted, the pics that were restored on my phone are very blurry, and the videos won't play.  I get a message on my phone that says " the URL you are requesting is not found on this server".  I have erased and reset my phone twice, but every time I do it, more pics and videos are deleted.  I have backed up to icloud and iphoto, however, some of the pics are no longer on iphoto either.  Is there someway to get the videos to play on my phone again?  Make the photos not as blurry as they are now and to restore the pics and videos that have been lost?  I really would love to have them back, this phone is supposed to be the best and right now it doesn't seem to be.  Please help if you can.

    I too have noticed that once i restored from iCloud. Pictures blurry and videos wont play!
    Need help too!!

Maybe you are looking for

  • IPhone mail app not sending notifications

    I use the mail app for iphone to check my college email, usually it sends notifications when I receive a new messege but it is not sending any more (No sounds, no banners, no badges), Although the email app is in Notification Center when I check it i

  • Not able to create purchase orders

    Hi Experts, I am not able to create purchase order , it is not allowing me to save , I I am giving purchase requisition number in Po and trying to crete po .When i give purchase requistion number  all the revelant data is copied and when i click on i

  • What is the fastest way to create thumbnails in CS6?

    Hi All... I wanted to know if there is a certain way you can take larger images and have them shrink down to a thumbnail size in an automated fashion?  Instead of having to load each image and change the dimensions and export the image as a thumbnail

  • Problem with german special characters in APEX

    Hi, we have a problem with all the special characters in german language in our Application. APEX version 3.1.0.00.32 is installed on a oracle database 9.2.0.6.0 The nls_characterset of the database is: American_America.WE8ISO8859P1 We have modified

  • Getting error while extending Region

    HI when I am trying to extend a region xxVacancyRN through personalization I am getting error oracle.apps.fnd.framework.OAException: java.lang.NullPointerException at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912) at ora