Avatar billede riversen Nybegynder
06. maj 2003 - 22:39 Der er 5 kommentarer og
2 løsninger

tom JList bliver ikke vist i GUI

Koden ser sådan ud:

package com.ftp.gui;

import javax.swing.*;
import java.awt.*;
import java.util.*;

public class ProgramFrame extends JFrame
{
  private JTextArea outputArea;
  private JList currentUsers, bannedIps;
 
  public ProgramFrame()
  {
    super( "Test" );
   
    getContentPane().setLayout( new BorderLayout() );
   
    outputArea = new JTextArea();
    outputArea.setLineWrap( true );   
    getContentPane().add( outputArea, BorderLayout.CENTER );
   
    JPanel eastPanel = new JPanel();
    eastPanel.setLayout( new FlowLayout() );
   
    currentUsers = new JList();
    eastPanel.add( currentUsers );
   
    bannedIps = new JList();
    eastPanel.add( bannedIps );
   
    getContentPane().add( eastPanel, BorderLayout.EAST );
   
    setDefaultCloseOperation( EXIT_ON_CLOSE );
   
    setSize( 800, 600 );
    setVisible( true );
//    setExtendedState( MAXIMIZED_BOTH );
  }

  public static void main( String[] args )
  {
    new ProgramFrame();
  }
}

Vil gerne have det til at se sådan ud:
http://privat.riversen.dk/gui.jpg

ved resize skal kun JTextArea ændre sig i bredden
Avatar billede riversen Nybegynder
06. maj 2003 - 22:41 #1
Jeg ville ellers foretrække gridlayout, men selve griddet ligger jo midt i framen og kan kun få komponenterne til at fylde griddet...dvs det er centreret på framen, hvis den er større end griddet. Men måske jeg ikke kender det layout godt nok
Avatar billede riversen Nybegynder
07. maj 2003 - 06:27 #2
mit problem er nu kun de 2 jlists
Avatar billede riversen Nybegynder
07. maj 2003 - 06:35 #3
gridlayout = GridBagLayout :-)
Avatar billede _carsten Nybegynder
07. maj 2003 - 11:12 #4
Jeg tror du kan bruge denne eller modificere den, så den passer til dig.
Kan resizes i højde og bredde.
Har tilladt mig at lave det hele i GridBagLayout.

Håber den holder - jeg evner det ikke bedre !!

Carsten
/*
* ProgramFrame.java
*
* Created on 7. maj 2003, 10:30
*/

package javatest;

/**
*
* @author  cfh
*/
public class ProgramFrame extends javax.swing.JFrame {
    /** Creates new form ProgramFrame */
    public ProgramFrame() {
        initComponents();
        setExtendedState(MAXIMIZED_BOTH);
    }
   
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jTextArea1 = new javax.swing.JTextArea();
        jList1 = new javax.swing.JList();
        jList2 = new javax.swing.JList();

        getContentPane().setLayout(new java.awt.GridBagLayout());

        setTitle("Test");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jTextArea1.setLineWrap(true);
        jTextArea1.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
        jTextArea1.setPreferredSize(null);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipadx = 30;
        gridBagConstraints.insets = new java.awt.Insets(8, 8, 8, 4);
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.weighty = 0.5;
        getContentPane().add(jTextArea1, gridBagConstraints);

        jList1.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
        jList1.setMinimumSize(null);
        jList1.setPreferredSize(null);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipadx = 120;
        gridBagConstraints.insets = new java.awt.Insets(8, 4, 8, 4);
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.weighty = 0.5;
        getContentPane().add(jList1, gridBagConstraints);

        jList2.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
        jList2.setMinimumSize(null);
        jList2.setPreferredSize(null);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipadx = 120;
        gridBagConstraints.insets = new java.awt.Insets(8, 4, 8, 8);
        gridBagConstraints.weightx = 0.5;
        gridBagConstraints.weighty = 0.5;
        getContentPane().add(jList2, gridBagConstraints);

        pack();
    }
   
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        new ProgramFrame().show();
    }
   
   
    // Variables declaration - do not modify
    private javax.swing.JList jList1;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JList jList2;
    // End of variables declaration
   
}
Avatar billede riversen Nybegynder
07. maj 2003 - 11:49 #5
kan du ikke fortælle mig istedet, hvad problemet er her:
package com.ftp.gui;

import javax.swing.*;
import java.awt.*;
import java.util.*;

public class ProgramFrame extends JFrame
{
  public JTextArea outputArea;
  private JList currentUsers, bannedIps;
 
  private GridBagLayout layout;
 
  public ProgramFrame()
  {
    super( "Test" );
   
    layout = new GridBagLayout();
    getContentPane().setLayout( layout );
    GridBagConstraints gbc;
   
    gbc = createGBC( 0, 0, 1, 1 );
    gbc.fill = GridBagConstraints.BOTH;
    outputArea = new JTextArea();
    JScrollPane pane = new JScrollPane( outputArea );
    add( pane, gbc );
   
    gbc = createGBC( 1, 0, 1, 1 );
    gbc.fill = GridBagConstraints.BOTH;
    currentUsers = new JList();
    add( new JScrollPane( currentUsers ), gbc );   
   
    setDefaultCloseOperation( EXIT_ON_CLOSE );
   
    pack();
    setVisible( true );
//    setExtendedState( MAXIMIZED_BOTH );
  }
 
  private GridBagConstraints createGBC( int x, int y, int width, int height )
  {
    GridBagConstraints gbc = new GridBagConstraints();
 
    gbc.gridx = x;
    gbc.gridy = y;
 
    gbc.gridwidth = width;
    gbc.gridheight = height;
 
    return gbc;
  }

  private void add( JComponent component, GridBagConstraints gbc )
  {
    layout.setConstraints( component, gbc );
    getContentPane().add( component );
  }
}
Avatar billede riversen Nybegynder
07. maj 2003 - 12:02 #6
jeg har fået noget brugbart nu, men jeg kan simpelthen ikke finde ud af, hvad der lige skal gøres, for at de 2 JLists ALTID har samme bredde
Avatar billede riversen Nybegynder
07. maj 2003 - 12:48 #7
Har fået løst det...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester