Есть такой код.
package Journal;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextArea;
class Okno extends JFrame {
ImageIcon iconS = new ImageIcon("addS.png");
ImageIcon iconM = new ImageIcon("addM.png");
public JList label;
JButton sbtn;
JButton mbtn;
public Okno() {
JPanel panel = new JPanel();
Container cont = getContentPane();
cont.add(panel);
setSize(745, 610);
setTitle("Electronic Journal 3");
panel.setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setFocusable(true);
setResizable(false);
setVisible(true);
label = new JList();
label.setBounds(10, 10, 600, 550);
label.setBackground(Color.white);
label.setVisible(true);
label.setOpaque(true);
panel.add(label);
String s[] = new String[1];
s[0]="Vasa Petrov";
label = new JList(s);
sbtn = new JButton();
sbtn.setBounds(625, 10, 100, 100);
sbtn.setVisible(true);
sbtn.setIcon(iconS);
panel.add(sbtn);
mbtn = new JButton();
mbtn.setBounds(625, 120, 100, 440);
mbtn.setVisible(true);
mbtn.setIcon(iconM);
mbtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
panel.add(mbtn);
}
}
Всё работает, но JList не работает. Он виден, но не выводит информацию(просто белый квадрат). Что делаю неправильно?
Вы создаете 2 JList - пустой добавляете на форму, а тот что с данными не добавляете. Поэтому у вас ничего нет.
// первый список
label = new JList();
label.setBounds(10, 10, 600, 550);
label.setBackground(Color.white);
label.setVisible(true);
label.setOpaque(true);
// добавили первый список на форму
panel.add(label);
String s[] = new String[1];
s[0] = "Vasa Petrov";
// второй список
label = new JList(s);
sbtn = new JButton("1");
Вот так будет работать
public Okno() {
JPanel panel = new JPanel();
Container cont = getContentPane();
cont.add(panel);
setSize(745, 610);
setTitle("Electronic Journal 3");
panel.setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setFocusable(true);
setResizable(false);
setVisible(true);
label = new JList(new String[] {"Vasa Petrov"});
label.setBounds(10, 10, 600, 550);
label.setBackground(Color.white);
label.setVisible(true);
label.setOpaque(true);
panel.add(label);
sbtn = new JButton("1");
sbtn.setBounds(625, 10, 100, 100);
sbtn.setVisible(true);
panel.add(sbtn);
mbtn = new JButton("2");
mbtn.setBounds(625, 120, 100, 440);
mbtn.setVisible(true);
mbtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
panel.add(mbtn);
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости