JTextField에서 텍스트를 가져 와서 키보드의 Enter 키를 눌러 항목을 JList에 추가해야하는 등의 문제가있었습니다. 선택한 항목은 alt 키를 누른 상태에서 목록에서 제거 할 수 있습니다. 명부.JTextField에서 가져와 JList에 추가
는 지금
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
public class Main extends JFrame{
/**
*
*/
private static final long serialVersionUID = -4006813674691791252L;
private DefaultListModel listM;
private JList list;
private JTextField jText;
public static void main(String[] args) {
new Main();
}
Main() {
super("From JText to Jlist");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());
pack();
setLocationRelativeTo(null);
setVisible(true);
listM = new DefaultListModel();
list = new JList(listM);
jText = new JTextField();
list.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.isAltDown() && list.getSelectedIndex() >= 0){
listM.remove(list.getSelectedIndex());
}
}
});
jText.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e){
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
final String str = jText.getText();
listM.addElement(str);
jText.setText("");
}
}
});
JPanel inputPanel = new JPanel();
inputPanel.setLayout(new BorderLayout());
inputPanel.add(new JScrollPane(list));
inputPanel.add(jText, BorderLayout.PAGE_END);
}
}
에 의해 무엇을 가지고 그것은 단지 빈 프레임을 보여줍니다.
나는 모든 종류의 도움에 감사 할 것입니다.
라인'jText.setText ("") 이후의 keyPressed 내부의'inputPanel'에'재 페인트를()'를 호출하려고,' – Orin
당신은 이제까지 JFrame의에'inputPanel'를 추가하려면 어떻게해야합니까? 'add (inputPanel)'행이 보이지 않는다 – johmsp
전체 코드를 게시하는 대신 [mcve]를 써주십시오. –