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

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")

}

}

}

这要看你用的是什么包,

如果是swt包的话,

在初始化 子窗口

写成:

shell = new Shell(display, SWT.APPLICATION_MODAL | SWT.CLOSE | SWT.MAX)

只要添加 SWT.APPLICATION_MODAL 参数就可以。

如果是AWT的话,

我转一个百度上其他帖子的答案:

楼主问为什么使用Dialog创建模式窗口,我的回答如下:

首先我们先看下在 *** 作系统中是如何创建窗口的,这是WIN32 API:

invoke CreateWindowEx,dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam

对于一个普通的窗口,其中hMenu是指要出现的菜单的句柄,然后————当建立的窗口是子窗口时,这个参数是另一个含义,这时hMenu参数指定的是子窗口的ID号,那么结果是————节省一个参数的位置,同时子窗口也不会有菜单了。所以要想子窗口有菜单只有微软自己可以做到了。

回到模式窗口的问题上来,模式窗口是子窗口,所以不会有菜单,那为什么只能用Dialog创建模式窗口呢,这是JAVA设计是确定的,即使开放了Frame的setModal,也没用,因为得到的结果还是一个和Dialog没有区别的窗口,这种情况在其它语言里是存在的。

import java.awt.*

import java.awt.event.*

public class TestDialog {

public TestDialog() {

final Frame f1 = new Frame("1")

f1.setSize(500, 500)

f1.setVisible(true)

Button b = new Button("Exit")

TextArea jt = new TextArea(3, 0)

b.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

System.exit(1)

}

})

Dialog dlinf1 = new Dialog(f1, "这是为了100分特地做的一段代码")

dlinf1.setSize(300, 300)

dlinf1.add(b, "North")

dlinf1.add(jt,"Center")

dlinf1.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(1)

}

})

dlinf1.setModal(true)

dlinf1.setVisible(true)

}

public static void main(String[] args) {

new TestDialog()

}

}

就是你声名一个Dialog 之后再设置他的 .setModal(true)就可以了。

setModal 就是设置窗口模式,为true,就是对当前程序来说,使窗口在最前,不关掉它,其它窗口就不能用.

其中 swt包的

SWT.APPLICATION_MODAL

是一个意思,只是使用方法不同.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11965131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存