Witam. Uczę się projektować za pomocą Swinga. Mam problem, ponieważ chciałbym aby wpisywane dane w polu tekstowym JTextField były wyświetlane w oknie niżej który jest w postaci JList. Nie mam pojęcia jak to ugryźć. Proszę także o podpowiedź jak przesunąć moje dwa buttony OK i Zamknij na sam dół okna. Pozdrawiam
Screen jest w załączniku.
a oto mój kod:
Klasa Ramka:
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Ramka extends JFrame {
JLabel jLabel = new JLabel();
public Ramka() {
Toolkit zestaw = Toolkit.getDefaultToolkit();
setResizable(false);
setSize(szerokosc,wysokosc);
setTitle("Aplikacja");
//Tworzenie panelu
JPanel panel = new JPanel();
Container container = getContentPane();
container.add(panel);
//Dodawanie pola tekstowego do panelu
JTextField poletext = new JTextField(35);
panel.add(poletext);
//pobieranie i wyświetlanie wpisanego tekstu
poletext.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = poletext.getText();
jLabel.setText(input);
}
});
JList list = new JList();
list.setVisibleRowCount(4);
//to wyswietla tekst
panel.add(jLabel);
//dodawanie jlist
panel.add(list);
panel.add(new JScrollPane(list));
list.setSize(400,100);
//Wstawianie buttonów
JButton button1 = new JButton("OK");
JButton button2 = new JButton("Zamknij");
panel.add(button1, BorderLayout.WEST);
panel.add(button2, BorderLayout.SOUTH);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String input = poletext.getText();
jLabel.setText(input);
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
//ikonka
Image rys = zestaw.getImage("ikonka.png");
setIconImage(rys);
}
public static final int szerokosc = 400;
public static final int wysokosc = 300;
}
Klasa Main:
public class Test {
public static void main(String[] args) {
Ramka ramka = new Ramka();
ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramka.setVisible(true);
}
}