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 aListModel
.Add the
JList
to aJFrame
.
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);
}
}
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, 2022Comments
-
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 over 8 yearsPlease explain and elaborate your question.
-
-
trashgod about 13 yearsIt appears that the GUI editor may be hindering your progress. It may be well to start with the simpler examples cited above.