Расположение элементов на фрейме в Java Swing
Сейчас изучаю Java и дошел до изучения Swing. Я хотел сделать интерфейс с двумя вкладками,5 на которых будет отображаться информация о зданиях, которую я укажу потом. На первой вкладке, я хотел расположить JList с выбором здания, при выборе которого будет отображаться информация о нем, но я не могу расположить Jlist и Jlable правильно. Нужно разместить JList в верхнем левом углу, а lable либо ниже, либо правее, но у меня не получается. Я пытался использовать setVerticalTextPosition() и setHorizontalPosition(), не получилось. Кто работал и сталкивался с таким, помогите пожалуйста. Буду очень благодарен. Код и скрин прикреплен.
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.util.List;
abstract class TabbedPane extends JFrame {
public static void main(String arg[]) {
Homes.setstreetname("Вершинина");
Homes.setnumberhome("15");
Homes.setsquare("1478");
JTextField fil = new JTextField();
fil.setText("Main Information");
Object[] elements = new Object[]{"Здание 1", "Здание 2"};
JList list = new JList(elements);
list.setVisibleRowCount(5);
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
list.setSelectedIndices(new int[]{1, 2});
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JTabbedPane tabblePanel = new JTabbedPane();
tabblePanel.add("Информация о здании", panel1);
tabblePanel.add("Информация о помещении", panel2);
JLabel lable1 = new JLabel();
lable1.setText("Выберите здание");
panel1.add(list);
panel1.add(lable1);
lable1.setVerticalTextPosition(JLabel.CENTER);
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(tabblePanel);
list.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent listSelectionEvent) {
List<String> valor = list.getSelectedValuesList();
StringBuilder texxt = new StringBuilder("Улица: ");
StringBuilder texxt1 = new StringBuilder("Номер дома: ");
for (String element : valor) {
String p = element;
if (p == "Здание 1"){
texxt.append(Homes.getstreetname());
texxt1.append(Homes.getnumberhome());
}
else {
texxt.append("dscsddsvsfvsdvsdvcsdscd");
}
//texxt.append(p);
//texxt.append(" ");
}
lable1.setText(texxt.toString()+" "+texxt1.toString());
}
});
}
}
