[求助]2个小问题,各位来看下 1.如图,比如在上面的框里输入香蕉,点下检索,下面的列表框就把鼠标定位到香蕉这一项,列表框的表是从数据库读取的,这样的功能怎么实现???2。上面的完成后点下一步,就到了这如何把上面选择的选项放到这里来的标签上??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、JList.setSelectedValue(Object)会选中该项。鼠标移动?可以考虑Robot类移动鼠标2、没看明白什么意思JLabel.setText("您选择地水果为:" + 水果.toString());?? 比较简单的写了下!import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;public class Test extends JFrame{ JList jlName; JLabel listLbl,selectLbl; final JTextField jt; JButton jbt,next; String[] list={"香蕉","西瓜","葡萄","梨"}; public Test() { jlName = new JList(); listLbl = new JLabel("水果列表:"); selectLbl=new JLabel("查询:"); jlName.setListData(list); jt=new JTextField("JTextField"); jbt=new JButton("检索"); next=new JButton("下一步"); jbt.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { String selectStr=jt.getText(); for(String key:list){ if(key.equals(selectStr)) jlName.setSelectedValue(key, false); } } }); next.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { ResultFrame ss=new ResultFrame((String)jlName.getSelectedValue()); } }); JScrollPane js = new JScrollPane(); js.getViewport().add(jlName); Container con = getContentPane(); con.setLayout(new FlowLayout()); con.add(listLbl); con.add(jt); con.add(jbt); con.add(next); JPanel p = new JPanel(); con.add(p); p.setLayout(new GridLayout(1, 2)); p.add(js); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(200, 250); setVisible(true); } public static void main(String[] args){ new Test(); } class ResultFrame extends JFrame{ public ResultFrame(String result){ JLabel jl=new JLabel("商品名称:"); JLabel name=new JLabel(result); this.setLayout(new FlowLayout()); this.setSize(100,100); this.add(jl); this.add(name); this.setVisible(true); } }} 那很简单呀,就是从数据库中读出来,添加到数组中然后传递给list就行了么。现在只不过程序给你写死了,固定的而已。难道就不能变通一下! 文本索引 关于JDK的源码!我的疑问! 在java里有没有类似于C#this关键字的功能? InputStream的一个问题 [求助] 关于双缓冲的疑问。 如何使用Timer和TimerTask随意的更改一个定时任务的执行间隔时间? 如何监测本地的某个端口是否打开?如何打开一个本地的端口? 请教关于方法调用问题 请教,在JList中添加了数据后怎样把它在JList中显示出来? 一个五行的小程序=50分,可我就是不明白 大家开发windows 窗体程序都使用什么GUI? java字符串里换行符的删除方法
鼠标移动?可以考虑Robot类移动鼠标2、没看明白什么意思
JLabel.setText("您选择地水果为:" + 水果.toString());??
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;public class Test extends JFrame{
JList jlName;
JLabel listLbl,selectLbl;
final JTextField jt;
JButton jbt,next;
String[] list={"香蕉","西瓜","葡萄","梨"};
public Test() {
jlName = new JList();
listLbl = new JLabel("水果列表:");
selectLbl=new JLabel("查询:");
jlName.setListData(list);
jt=new JTextField("JTextField");
jbt=new JButton("检索");
next=new JButton("下一步");
jbt.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
String selectStr=jt.getText();
for(String key:list){
if(key.equals(selectStr))
jlName.setSelectedValue(key, false);
}
}
});
next.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
ResultFrame ss=new ResultFrame((String)jlName.getSelectedValue());
}
});
JScrollPane js = new JScrollPane();
js.getViewport().add(jlName);
Container con = getContentPane();
con.setLayout(new FlowLayout());
con.add(listLbl);
con.add(jt);
con.add(jbt);
con.add(next);
JPanel p = new JPanel();
con.add(p);
p.setLayout(new GridLayout(1, 2));
p.add(js);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 250);
setVisible(true);
}
public static void main(String[] args){
new Test();
}
class ResultFrame extends JFrame{
public ResultFrame(String result){
JLabel jl=new JLabel("商品名称:");
JLabel name=new JLabel(result);
this.setLayout(new FlowLayout());
this.setSize(100,100);
this.add(jl);
this.add(name);
this.setVisible(true);
}
}}
。现在只不过程序给你写死了,固定的而已。难道就不能变通一下!