只要文本框添加监听即可,用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")
}
}
}
文本框.setBounds(10,10,30,170) 设置位置。
文本框的宽是改不了的,只有长度才能改变,JTextField jtf = new JTextField(length)
length大了,文本框就长了。
想要长宽可变的文本框可用:JTextArea jta = new JTextArea(长,宽);
JTextArea jta = new JTextArea(长,宽)也是用jta.setText()来显示的;
与JTextField用法几乎一样;具体用法可查API。
代码如下:
1.//核心代码第一部分, 设置文本框,密码框长宽;
2.wbk = new JTextField(8)//在这个窗口大小里,设置长度为8,比较合适;
3.mmk = new JPasswordField(8)//密码框也设置长度为8;
4.//核心代码第二部分, 把文本框,密码框等加入到JPanel里;
5.JPanel jpwbk = new JPanel()//1 放文本框的JPanel面板;
6.jpwbk.add(wbk)//把文本框放入;
7.p[0].add(jpwbk)//把JPanl放入网格布局里; 8.JPanel jpbutton0 = new JPanel()//2 放按钮的JPanel面板(按钮也小点好看点); 9.jpbutton0.add(button[0])
10.jp[0].add(jpbutton0)
11.jp[0].add(biaoqian[2])
12.JPanel jpmmk = new JPanel()//3 放密码框的JPanel面板
13.jpmmk.add(mmk)
14.jp[0].add(jpmmk)
import javax.swing.*import java.awt.*
import java.awt.event.*
public class myFrame extends JFrame implements ActionListener{
JTextField price
JTextField amount
JTextField total
public CountNumber (){
JFrame f = new JFrame("计算价格")
JPanel p = new JPanel()
JTextField price = new JTextField(10)
JTextField amount = new JTextField(10)
JTextField total= new JTextField(10)
JLabel label1 = new JLabel("单价")
JLabel label2 = new JLabel("数量")
JLabel label3 = new JLabel("总价")
JButton btn = new JButton("计算总价")//新建文本框,标签,按钮,内容面板,顶层容器
btn.addActionListener(this)
p.add(label1)p.add(price)
p.add(label2)p.add(amount)
p.add(btn)
p.add(label3)p.add(total)
f.add(p)
f.setVisible(true)//使其可见
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)//关闭窗口
f.setBounds(50,50,50,50)
f.pack()//将组件添加到顶层容器,并显示出来
}
public void actionPerformed (ActionEvent e){
String p =price.getText()
String a =amount.getText()
int p1 = Integer.parseInt(p)
int a1 = Integer.parseInt(a)
if(e.getActionCommand().equals("计算总价")){
int t = p1*a1
total.setText(t+"")
}
}
public static void main(String args[]){
new myFrame()
}
}
//说实话,运行时,有点小错,但不知道为啥错了,请大家同时也指正下。