Есть такой код.
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);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как сделать Preloader, когда идет запрос при использовании библиотеки Retrofit?
есть три кнопки и одна image view подскажите как менять image view при нажатии на каждую из кнопок
Я создаю медиа плеерЯ беру файлы из предложеного пути потом беру их название и кидаю их массив, а потом я массив передаются в адаптер и через...
нелегкая заставила меня связаться с excel таблицамисобсно вопрос