Display list on a jframe

30,535

You might start with How to Use Lists or this related example. The essential steps include these:

  • Initialize a String[] with the data, as you have shown.

  • Use the data to construct a JList, implicitly creating a ListModel.

  • Add the JList to a JFrame.

image

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JList;

/** @see https://stackoverflow.com/a/5255930/230513 */
public class Test {

    private void display() {
        JFrame f = new JFrame("Test");
        String[] data = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
        f.add(new JList(data));
        f.pack();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Test()::display);
    }
}
Share:
30,535
trashgod
Author by

trashgod

trashgod: Similar in concept to trash fish. quote: Your thoughtful comments have dramatically enlarged the scope of my ignorance. quote: The trash can be an important design tool.—loc. cit.

Updated on May 25, 2022

Comments

  • trashgod
    trashgod almost 2 years

    i want to show the list on the jframe form. any help is appreciated

    import java.util.List;
    import java.util.ArrayList;
    
    
    public class Collatz extends javax.swing.JFrame {
    
        /** Creates new form Collatz */
        public Collatz() {
            initComponents();
        }
    
        /** 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.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jLabel1 = new javax.swing.JLabel();
            jTextField1 = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            jScrollPane1 = new javax.swing.JScrollPane();
            jList1 = new javax.swing.JList();
            jScrollPane3 = new javax.swing.JScrollPane();
            jScrollPane2 = new javax.swing.JScrollPane();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            jLabel1.setText("Loop (If Applicable)");
    
            jTextField1.setText("Intial Number");
            jTextField1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jTextField1ActionPerformed(evt);
                }
            });
    
            jButton1.setText("Go!");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            jList1.setModel(new javax.swing.AbstractListModel() {
                String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
                public int getSize() { return strings.length; }
                public Object getElementAt(int i) { return strings[i]; }
            });
            jScrollPane1.setViewportView(jList1);
    
            jScrollPane3.setViewportView(jScrollPane2);
    
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(layout.createSequentialGroup()
                            .add(60, 60, 60)
                            .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 128, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .add(layout.createSequentialGroup()
                            .add(108, 108, 108)
                            .add(jLabel1)))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 40, Short.MAX_VALUE)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(layout.createSequentialGroup()
                            .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap())
                        .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                            .add(jButton1)
                            .add(70, 70, 70))))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .add(60, 60, 60)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(jButton1)
                        .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(layout.createSequentialGroup()
                            .add(76, 76, 76)
                            .add(jLabel1))
                        .add(layout.createSequentialGroup()
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .add(layout.createSequentialGroup()
                            .add(18, 18, 18)
                            .add(jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 64, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(62, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                        
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
         double c;
                   c =  Double.parseDouble(jTextField1.getText());
    
                    List<String> ls=new ArrayList<String>();
    
                    ls.add(String.valueOf(c));
    
    
    
    
                   do {
           if (c == -5) {jLabel1.setText("loop = −5 → −14 → −7 → −20 → −10 → −5");}
         if (c == -17) {jLabel1.setText("loop = −17 → −50 → −25 → −74 → −37 → −110 "
                    + "→ −55 → −164 → −82 → −41 → −122 → −61 → "
                    + "−182 → −91 → −272 → −136 → −68 → −34 → −17 … ");}
             if (c == -1) {jLabel1.setText("loop = -1 → -2 → -1 ");}
              if (c == 0) {jLabel1.setText("loop = 0 → 0");}
              if (c == 1) {jLabel1.setText("loop = 1 → 4 → 2 → 1");}
              if (c != -5) {jLabel1.setText("Loop (If Applicable)");}
                   /**if (c != -17) {jLabel1.setText("Loop (If Applicable)");}
                   if (c != -1) {jLabel1.setText("Loop (If Applicable)");}
                   if (c != 0) {jLabel1.setText("Loop (If Applicable)");}
                   if (c != 1) {jLabel1.setText("Loop (If Applicable)");}
                   **/ if (c != 1){
    
            double n;
            n = Double.parseDouble(jTextField1.getText());
    
            if (( n % 2 ) == 0) {
    
                      try{
    Thread.sleep(50); // Sleep for 4 sec
    }
    catch(InterruptedException e){} 
    
            double x, r; 
            x = Double.parseDouble(jTextField1.getText());
    
            r = x/2; 
            ls.add(String.valueOf(r));
            jTextField1.setText(String.valueOf(r));
    
    
    
    
    
            } 
    
    
            if (( n % 2) != 0){  
                                  try{
    Thread.sleep(50); // Sleep for 4 sec
    }
    catch(InterruptedException e){} 
    
                double x, r; 
            x = Double.parseDouble(jTextField1.getText());
            r = (0x3*x)+1; 
            ls.add(String.valueOf(r));
            jTextField1.setText(String.valueOf(r));
    
            } 
    
    
          } 
        }                                        
    
                    while (c != 1);  }    
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
            // TODO add your handling code here:
        }                                           
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Collatz().setVisible(true);
                }
            });
        }
    
    • Osmani
      Osmani over 8 years
      Please explain and elaborate your question.
  • trashgod
    trashgod about 13 years
    It appears that the GUI editor may be hindering your progress. It may be well to start with the simpler examples cited above.