Visualizzazione dei risultati da 1 a 10 su 10

Discussione: (java) borderlayout

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    (java) borderlayout

    Ho scritto il seguente codice

    JTextArea lineNorth = new JTextArea();
    lineNorth.setEditable(false);
    lineNorth.setBackground(Color.darkGray);
    lineNorth.setSize(300,30);
    JTextArea lineSide = new JTextArea();
    lineSide.setEditable(false);
    lineSide.setBackground(Color.darkGray);
    lineSide.setSize(30,300);
    JPanel mEditor = new JPanel();
    mEditor.setLayout(new BorderLayout());

    mEditor.add(BorderLayout.NORTH, lineNorth);
    mEditor.add(BorderLayout.EAST, lineSide);
    mEditor.add(BorderLayout.WEST, lineSide);
    mEditor.add(BorderLayout.CENTER, editorScroll);


    Mi visualizza correttamente una barra a nord (fatta con una jtextarea du 300,30 pixel), il centro ma non mi visualizza nč la barra ad est nč la barra a ovest (fatte con una jtextarea du 30,300 pixel)

    vedete l'errore?

    editorscroll č un jscrollpanel che contiene un jtextpane

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    mi pare che la firma corretta quando usi un BorderLayout sia questa:
    add(Component, integer)
    oppure
    add(String, Component)

    Ciao.
    Slack? Smack!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    ho scritto anche

    mEditor.add(lineNorth, BorderLayout.NORTH);
    mEditor.add(lineSide, BorderLayout.EAST);
    mEditor.add(lineSide, BorderLayout.WEST);
    mEditor.add(editorScroll, BorderLayout.CENTER);

    continua a cpomparirmi solo la barra a nord e l'editorscroll al centro ma non mi fa apparire le barre ad est ed ovest

    why?

  4. #4
    forse perché hai usato la stessa variabile di riferimento

    mEditor.add(lineNorth, BorderLayout.NORTH);
    mEditor.add(lineSide , BorderLayout.EAST);
    mEditor.add(lineSide , BorderLayout.WEST);
    mEditor.add(editorScroll, BorderLayout.CENTER);

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    provate ad eseguire questo codice

    import javax.swing.JTextArea;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import java.awt.Color;
    import java.awt.BorderLayout;

    public class Bordi {
    public static void main (String[] args) {
    JFrame frame = new JFrame();
    JTextArea lineNorth = new JTextArea();
    lineNorth.setEditable(false);
    lineNorth.setBackground(Color.darkGray);
    lineNorth.setSize(300,30);
    JTextArea lineSide = new JTextArea();
    lineSide.setEditable(false);
    lineSide.setBackground(Color.darkGray);
    lineSide.setSize(30,300);
    JPanel mEditor = new JPanel();
    mEditor.setLayout(new BorderLayout());

    JTextArea editor = new JTextArea();
    JScrollPane editorScroll = new JScrollPane();
    editorScroll.add(editor);

    mEditor.add(lineNorth, BorderLayout.NORTH);
    mEditor.add(lineSide, BorderLayout.EAST);
    mEditor.add(lineSide, BorderLayout.WEST);
    mEditor.add(editorScroll, BorderLayout.CENTER);

    frame.getContentPane().add(mEditor);
    frame.setSize(300,300);
    frame.show();
    }
    }

    compare solo la barra a nord, perchč?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    niente ho provato sia a creare due oggetti differenti
    lineSide
    lineSide2
    che a commentare un add.(Est)

    non compiono le barre laterali
    bel mistero

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    qualche idea nuova?

  8. #8
    codice:
    import javax.swing.JTextArea;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import java.awt.Color;
    import java.awt.BorderLayout;
    
    public class Bordi {
    public static void main (String[] args) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
    JTextArea lineNorth = new JTextArea("Nord");
    lineNorth.setEditable(true);
    lineNorth.setBackground(Color.darkGray);
    lineNorth.setSize(300,30);
    JTextArea lineSide = new JTextArea("Laterale");
    lineSide.setEditable(true);
    lineSide.setBackground(Color.darkGray);
    JTextArea lineSide2= new JTextArea("Laterale");
    lineSide2.setEditable(true);
    lineSide2.setBackground(Color.darkGray);
    lineSide.setSize(30,300);
    JPanel mEditor = new JPanel();
    mEditor.setLayout(new BorderLayout());
    
    JTextArea editor = new JTextArea("Centro");
    JScrollPane editorScroll = new JScrollPane();
    editorScroll.add(editor);
    mEditor.add(lineSide, "West");
    mEditor.add(lineSide2, "East");
    mEditor.add(lineNorth, "North");
    mEditor.add(editor,"Center");
    
    
    frame.getContentPane().add(mEditor);
    frame.setSize(300,300);
    frame.show();
    }
    }
    Se le JTextArea laterali sono vuote , il componente centrale tende ad occupare tutto lo spazio
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    invece di mettere delle jtextare non editabili, eiste qual'cosa d'altro da poter metterci che simuli una strisci di 30*300 pixel?

  10. #10
    Hai provato ad inserisci un immagine??
    O la carichi come immagine pura , oppure puoi inserirla in una JLabel , altrimenti ancora usa il GridBagLayout.
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.