只要文本框添加监听拆李链即扰闭可,用ActionListener即会在文本框中按下回车键时触发事件。
下面是监听的旅孙代码:
public void actionPerformed(ActionEvent e)
{
Object o=e.getSource()
if(o==text1) //文本框一号
{
text2.requestFocus()//文本框2号,请求焦点
}
else if(o==text2)
{
text3.requestFocus()
}
}
程序如下:
import java.awt.FlowLayout
import java.awt.Toolkit
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.JTextField
public class MyFrame extends JFrame implements ActionListener
{
private JButton button
private JTextField textField
private JLabel label
public MyFrame()
{
button = new JButton("Hello world")
textField = new JTextField(15)
label = new JLabel("输入内容:")
setTitle("Simple-Frame")
setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 500)/2,
(Toolkit.getDefaultToolkit().getScreenSize().height - 300)/2
, 500, 300)
setLayout(new FlowLayout())
add(label)
add(textField)
add(button)
setResizable(false)
setVisible(true)
this.button.addActionListener(this)
}
public static void main(String[] args)
{
new MyFrame()
}
@Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.button)
{
this.textField.setText("Hello World")
}
}
}
需要的组件:
下拉菜单 是 JComboBox组件
文本框 是 JTextField组件
设置下拉菜单的内容
常用的主要有三种方法
使用添加模型的方式,来添加内容
JComboBox jcb = new JComboBox()jcb.setModel(new DefaultComboBoxModel<String>(new String[] {"一","二"}))
使用数组参数的构造器,来添加内容
String[] ss = {"选项一","选项二"}JComboBox jcb = new JComboBox(ss)
3. 使用链表参数的构造器,来添加内容
Vector<String> ve = new Vector<String>()ve.add("选项一睁氏老")ve.add("选项二")
JComboBox jcb = new JComboBox(ve) //把单链表作为参数,来构造一个下拉菜单
事件响应器的设置
当鼠标选择菜单的选项后, 会触发一个事件ActionEvent, 该事件的处理代码里, 可以实现把选择的值添加到文本框.
需要给JComboBox 添加 一个ActionListener 就能实现对事件的响悉升应
效果图
参考代码如下 jdk 1.8
import java.awt.event.*import java.util.*
import javax.swing.*
import java.awt.*
public class JCBDemo extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L
//组件的定义
private final JTextField jtf1
private final JTextField jtf2
private final JTextField jtf3
private final JComboBox<String> jcb2
private final JComboBox<String> jcb1
private final JComboBox<String> jcb3
public static void main(String[] args) {
new JCBDemo().setVisible(true)
}
public JCBDemo() {
setLayout(new GridLayout(3, 3, 0, 0))
//给JComboBox 添加数据的方式一 setModel的方法
JLabel jl1 = new JLabel("选择你喜欢的水果")
jcb1 = new JComboBox<String>()
jcb1.setModel(new DefaultComboBoxModel<String>(new String[] { "苹果", "鸭梨", "香蕉", "山楂", "蜜桃" }))
jtf1 = new JTextField()
jtf1.setColumns(10)
jtf1.setText((String) jcb1.getSelectedItem())//设置文本框的值
//给JComboBox 添加数据的方式二 使用带数组作为参数的构造方法
JLabel jl2 = new JLabel("选择你喜欢的电影")
String[] move = { 核饥"英雄本色", "神奇四侠", "复仇者联盟" }
jcb2 = new JComboBox<String>(move)
jcb2.addItem("星球大战")
jtf2 = new JTextField()
jtf2.setText((String) jcb2.getSelectedItem())
jtf2.setColumns(10)
//给JComboBox 添加数据的方式三 使用带Vector链表作为参数的构造方法
JLabel jl3 = new JLabel("选择你喜欢的书籍")
Vector<String> list = new Vector<String>()
list.add("货币战争")
list.add("格林童话")
jcb3 = new JComboBox<String>(list)
jtf3 = new JTextField()
jtf3.setColumns(10)
jtf3.setText((String) jcb3.getSelectedItem())
add(jl1)add(jcb1)add(jtf1)
add(jl2)add(jcb2)add(jtf2)
add(jl3)add(jcb3)add(jtf3)
jcb1.setActionCommand("1")//设置动作命令
jcb1.addActionListener(this)//设置事件响应器
jcb2.setActionCommand("2")
jcb2.addActionListener(this)
jcb3.setActionCommand("3")
jcb3.addActionListener(this)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
setSize(350, 139)//设置窗口大小
setLocationRelativeTo(null)//设置窗口居中
setTitle("下拉菜单示范")
}
public void actionPerformed(ActionEvent e) {//当鼠标选择下拉菜单的值时
String comd =e.getActionCommand()//得到动作命令
if(comd.equals("1")){
jtf1.setText((String) jcb1.getSelectedItem())//设置文本框的内容
}else if(comd.equals("2")){
jtf2.setText((String) jcb2.getSelectedItem())
}else if(comd.equals("3")){
jtf3.setText((String) jcb3.getSelectedItem())
}
}
}
那数搜要看慎毕判是java窗体还是web jsp页面了要是窗体的宽改话
就是3楼说的那样了
要是 web jsp页面了
那就更简单了 <input type="text" name="xx" id="xx"/>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)