repaint Layout



  • Ich versuche den Layout eines Editor auswählen lassen
    aber irgenwie die asugewählte Layout lässt sich nicht anzeiogen
    warum

    code.

    public class myClass extends JFrame implements ActionListener
    {
    private Container contenntPane;
    public myClass()
    {
    contentPane=this.getContentPane();
    ...............
    DisplayEditor(contentPane, true);
    }

    public void DisplayEditor(Container contentPane, boolean isTreeOpen)
    {
    tab_OpenFiles=new JTabbedPane(SwingConstants.TOP);
    JComponent component = new

    TabsFiles(langCode.getValueOfKey("tab.noname"),tab_OpenFiles).addTabsFiles();
    if(isTreeOpen){
    splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JTextArea("here com the Tree"),component);
    splitPane.setOneTouchExpandable(true);
    splitPane.setContinuousLayout(true);
    contentPane.add((JComponent) splitPane,BorderLayout.CENTER);
    splitPane.revalidate();

    }else{
    component.paintImmediately(component.getVisibleRect());
    contentPane.add(component,BorderLayout.CENTER);
    component.revalidate();

    }

    }
    //------------------------------------------------------------------------------
    public void actionPerformed(ActionEvent event)
    {

    if(event.getSource().equals(display)){
    DisplayEditor(contentPane,true);
    }
    if(event.getSource().equals(hidden)){
    DisplayEditor(contentPane,false);
    }
    }
    //-------------------------------------------------------------------------------
    }

    Ich habe mit repaint, revalidate(), paintsComponents() versucht aber leider ging nicht. Hat jemand eien Idee wie kann ich es
    endlich mal hinbekomme.

    danke



  • - Bitte nutze doch Code-Tags ... deinen Code kann ich nie richtig lesen. Wie das geht erfährst Du wenn du auf der Einstiegsseite des Java-Forums oben die Hinweise durchliest.

    - Versuche keine komplizierten Sätze zu bilden - ohne dir nahe treten zu wollen - dein Deutsch ist miserabel 🙂 Hab echt Schwierigkeiten dich zu verstehen.



  • hallo,

    ich will den Layout einfach neu zeichnen einmal mit JSplitePane un einmal Ohne

    [java]
    public class myClass extends JFrame implements ActionListener
    {
    private Container contenntPane;
    public myClass()
    {
    contentPane=this.getContentPane();
    ...............
    DisplayEditor(contentPane, true);
    }

    public void DisplayEditor(Container contentPane, boolean isTreeOpen)
    {
    tab_OpenFiles=new JTabbedPane(SwingConstants.TOP);
    JComponent component = new

    TabsFiles(langCode.getValueOfKey("tab.noname"),tab_OpenFiles).addTabsFiles();
    if(isTreeOpen){
    splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JTextArea("here com the Tree"),component);
    splitPane.setOneTouchExpandable(true);
    splitPane.setContinuousLayout(true);
    contentPane.add((JComponent) splitPane,BorderLayout.CENTER);
    splitPane.revalidate();

    }else{
    component.paintImmediately(component.getVisibleRect());
    contentPane.add(component,BorderLayout.CENTER);
    component.revalidate();

    }

    }
    //-----------------------------------------------------------------
    public void actionPerformed(ActionEvent event)
    {

    if(event.getSource().equals(display)){
    DisplayEditor(contentPane,true);
    }
    if(event.getSource().equals(hidden)){
    DisplayEditor(contentPane,false);
    }
    }
    //-----------------------------------------------
    }[/code]



  • Okay.
    Als erstes müsstest du aus der contentPane den Editor rausnehmen und dann das neue ohne Splitpane einfügen. Anschließend ein repaint sollte dein Problem lösen.



  • das geht auch nicht so ganz . Ich wäre dir Dankbar wenn du die Methode
    DisplayEditor(...) genauer anschaust villeicht fält dir was ein

    [java]
    public void DisplayEditor(Container contentPane, boolean isTreeOpen)
    {

    tab_OpenFiles=new JTabbedPane(SwingConstants.TOP);
    JComponent component = new TabsFiles(langCode.getValueOfKey("tab.noname"),tab_OpenFiles).addTabsFiles(true,getSelectedLanguage(),contentPane);
    if(isTreeOpen){
    splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JTextArea("here com the Tree"),component);
    splitPane.setOneTouchExpandable(true);
    splitPane.setContinuousLayout(true);
    contentPane.remove(component);
    contentPane.add((JComponent) splitPane,BorderLayout.CENTER);
    this.repaint();
    }else{
    contentPane.remove(splitPane);
    contentPane.add(component,BorderLayout.CENTER);
    this.repaint();
    }
    }
    //------------------------------------------------------------------------------
    public void actionPerformed(ActionEvent event)
    {

    if(event.getSource().equals(mFile_New)){
    // new TabsFiles(langCode.getValueOfKey("tab.noname"),tab_OpenFiles).addTabsFiles(false);
    // ((JComponent)tab_OpenFiles.getSelectedComponent()).requestFocus();
    }

    if(event.getSource().equals(mFile_Open)){
    // new TabsFiles("aTitle",tab_OpenFiles).addTabsFiles(false);
    }
    if(event.getSource().equals(display)){
    DisplayEditor(contentPane,true);
    }
    if(event.getSource().equals(hidden)){
    DisplayEditor(contentPane,false);
    }
    }
    //-----------------------------------------------------------------[/code]

    Danke


Anmelden zum Antworten