Я создаю класс, который действует как контейнер, который содержит метку и кнопки.Я хочу, чтобы кнопки появлялись только при наведении мыши на метку на новом слое и были активными, но это не мой вопрос (для этого я обнаружил OyverLay Layout и JLayeredPane, и я выясню это позже).Как я уже сказал, я планирую использовать JLayeredPane вместо обычного JPanel (из-за его многослойных возможностей), но мой первый вопрос - это правильный тип контейнера, который будет использоваться, если этот класс будет создавать объекты в контейнере JFrame других классов?Я не думаю, что это потому, что в качестве панели он создает окно со строкой заголовка и кнопками, а я этого не хочу.Я просто хочу, чтобы этот класс создал экземпляр поля с моей меткой и кнопками и добавил его в JFrame, чтобы он был в сетке с другими кнопками ???
Моя главная проблема в том, что я хочу, чтобы этот контейнер содержал меткуи кнопки, которые будут добавлены в JFrame, который не входит в класс, основной задачей которого является удержание контейнеров от моего первого класса и возможность пользователю добавлять и удалять его с помощью пользовательского интерфейса.
По сути, я хочуформа с текстовыми полями и кнопкой, и кнопка добавляет новый объект ListItem в JFrame другого класса, а текст метки новых объектов создается из текстовых полей, создавая экземпляр нового объекта в этом JFrame.Итак, если я нажму кнопку 5 раз, я увижу 5 коробок с 5 надписями в них с уникальными словами один над другим.
Я изучил использование корневого контейнера, используя JInternalFrames, ипробовал все остальные фокусы, но не могу заставить его работать правильно.
Вот код для класса, который я построил.
* выше этого вМой класс - это импорт нужных мне объектов и создание различных строк, кнопок и меток, используемых здесь.то, что я вставил здесь, является основой моего кода, объект, который создается и отображается при создании экземпляра ***
public ListItem(String nameC, String timeC, String recordNum)
{
JLayeredPane panel1 = new JLayeredPane();
name = nameC; time = timeC; recordN = recordNum;
//fullItemString is a String object
fullItemString = "Help " + name + " at " + time + " regarding " + "Record # " + recordNum;
//item is a label
item.setText(fullItemString);
item.setFont(verdana);
minusButton.putClientProperty("JButton.buttonType", "square");
exportButton.putClientProperty("JButton.buttonType", "square");
editButton.putClientProperty("JButton.buttonType", "square");
// setSize(425, 50);
//setDefaultCloseOperation(EXIT_ON_CLOSE);
minusButton.setBounds(175, -1, 35, 30);
editButton.setBounds(210, -1, 35, 30);
exportButton.setBounds(130, -1, 35, 30);
panel1.add(minusButton);//, new Integer(2));
panel1.add(top);//, new Integer(1));
panel1.add(editButton);//, new Integer(3));
panel1.add(exportButton, new Integer(4));
minusButton.addActionListener(this);
item.addMouseListener(this);
exportButton.setVisible(false);
minusButton.setVisible(false);
editButton.setVisible(false);
lp.setVisible(true);
setVisible(true);
}