0

Guys, Im wondering, If I have another class with a jpanel in it... and I add this to the jPanel, this should work correct?

jpanel.add(new DoughOverviewList());
jpanel.repaint();

for some reason its not showing in my jpanel,

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package doughtracker;

import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;

/**
 *
 * @author Acer
 */
public class DoughOverviewList extends JList {

    JScrollPane doughListScrollPane;
    DefaultListModel doughListModel;

    Border GrayLine = BorderFactory.createLineBorder(Color.LIGHT_GRAY);

    public DoughOverviewList() {

        super.setFont(new Font("Arial", Font.PLAIN, 16));
        super.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        super.setBorder(GrayLine);
        doughListScrollPane = new JScrollPane(this);
        doughListScrollPane.setBounds(DoughTracker.dimensions.doughCreatorWidth / 2, 120, 250, 345);
        doughListScrollPane.setBorder(GrayLine);
        doughListModel = new DefaultListModel();
        doughListModel.addElement("Testing ");

        super.setModel(doughListModel);
        super.setVisible(true);
        super.addListSelectionListener((ListSelectionEvent ev) -> {

        });

    }

}

Edited by scheppy

3
Contributors
4
Replies
24
Views
2 Months
Discussion Span
Last Post by scheppy
0

Ive solved this problem, I relized i was adding the list but i was suposed to be adding the scrollPane,

So now i have this, but the list wont show, It shows for a split second, and than only the border shows?

Any thoughts?

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package doughtracker;

import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.border.Border;
import javax.swing.event.ListSelectionEvent;

/**
 *
 * @author Acer
 */
public class DoughOverviewList extends JScrollPane {

    JList doughList;
    DefaultListModel doughListModel;

    Border GrayLine = BorderFactory.createLineBorder(Color.LIGHT_GRAY);

    public DoughOverviewList() {

        doughList = new JList();
        doughList.setFont(new Font("Arial", Font.PLAIN, 16));
        doughList.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        doughList.setBorder(GrayLine);

        super.setBounds(DoughTracker.dimensions.doughCreatorWidth / 2+50, 120, 350, 500);
        super.setBorder(GrayLine);

        doughListModel = new DefaultListModel();
        doughListModel.addElement("Testing");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");      
        doughList.setModel(doughListModel);
        doughList.addListSelectionListener((ListSelectionEvent ev) -> {                
        });

          super.add(doughList);

    }
}

Thanks,

1

Not sure why that code isn't working, but then I don't like the way you have forced the scroll pane into a class that should just be a list.
I simplified it like this and it works OK...

class DoughOverviewList extends JList {
    DefaultListModel doughListModel= new DefaultListModel();
    Border GrayLine = BorderFactory.createLineBorder(Color.LIGHT_GRAY);

    public DoughOverviewList() {
        setFont(new Font("Arial", Font.PLAIN, 16));
      setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        setBorder(GrayLine);
        //super.setBounds(150, 120, 350, 500);
        doughListModel.addElement("Testing");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");
        doughListModel.addElement("11");      
        setModel(doughListModel);
        addListSelectionListener(ev -> {                
            System.out.println(ev);
        });

    }

...

frame.add(new JScrollPane( new DoughOverviewList()));
0

Thank you sir, that was an easy fix, nice I with I would of thought of that,
Clean.

Thank you again as always sir,

Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.