我正在使用此界面来显示有关连接到本地网络的计算机的信息。我想选择一个IP而不是单击“Plus dinformation”按钮来显示与该机器相关的一些信息。这是我的选择代码
final static JTextArea clien = new JTextArea(20,30);
clien.setSelectionColor(Color.blue);
clien.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent evt) {
MouseReleased(evt);
}
private void MouseReleased(MouseEvent evt) {
// TODO Auto-generated method stub
strselection = clien.getSelectedText();
}
当我选择IP然后按信息按钮时,找到的strselection
中包含的值为null
,因为单击该按钮会取消选择。我希望点击该按钮后该选择仍然有效,因此strselection
不会变为null
。我如何调整我的选择代码以使其成为可能。我试过但没有运气。
答案 0 :(得分:2)
您可能希望使用JList
代替JTextArea
。即使按下任何按钮,它也可以进行多项选择并保留选择。将JList
添加到JScrollPane
也会使其可滚动。
您必须在按钮上添加一个侦听器而不是JList
,并且每个执行的操作都会检查JList
中的所选项。
答案 1 :(得分:1)
不要使用JTextArea。使用JComboBox或类似的东西,用户从值列表中选择一个值。
如果在上面的例子中,我选择了两个ip-adresses并按下按钮怎么办?
请参阅http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html
编辑:或者JList,也可以。