在java中怎么做出这种文本框效果

就像这样,文本的每一行都是选项,然后选完上面的文本还能变成你选的那个选项

具体代码如下

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class FrameDemo extends JFrame{
JList<String> jlist;
JTextField jtf;
public FrameDemo(){
jtf = new JTextField(100);
String[] data = {"宋体","黑体","仿宋","雅黑","幼圆","其他一","其他二"};
jlist = new JList<>(data);
jlist.setVisibleRowCount(3);
JScrollPane jsp = new JScrollPane(jlist);

add(jtf,BorderLayout.NORTH);
add(jsp);
setBounds(300, 200, 120, 150);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);

jlist.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
//设置文本框的文字为列表中选择的文字
jtf.setText(jlist.getSelectedValue());
}
});

}
public static void main(String[] args) {
new FrameDemo();
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-13
应该没有这种独立的组件可用,不过你可以用 JTextField+JList 来实现
相似回答