JAVA一个窗体添加三个文本框具体怎么操作?

Python014

JAVA一个窗体添加三个文本框具体怎么操作?,第1张

只要文本框添加监听即可,用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()

}

}

//说实话,运行时,有点小错,但不知道为啥错了,请大家同时也指正下。