用java代码如何将一个按钮隐藏并显示一个文本框在按钮的位置来代替它

2024-11-19 08:22:25
推荐回答(5个)
回答(1):

有两种方式:一、做界面的时候就把这两个控件都放上去,并默认显示一个,把另一个的visible属性设置为FALSE,在Button的相关事件的响应代码中把Button的visible设为FALSE,把文本框的设为TRUE二、只是在初始做界面的时候只是放一个Button,在Button的相关事件(选择事件,鼠标的单击事件等)中添加代码,实例化一个文本框,然后将Button的bound赋给文本框,然后将Button的visible设为FALSE,或者干脆将他dispose了
我这写的不错啊,怎么审核部通过唻?奇怪

回答(2):

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; class MyPanel extends JPanel implements ActionListener{ /** * 定义面板的宽和高 */ private int width=300; private int height=300; /** * 两组件 */ private JButton button; private JTextField textField; /** * 构造方法 */ public MyPanel(){ this.setSize(width, height); this.setLayout(null); this.setVisible(true); this.button=new JButton("点击我会变成一个文本框!"); this.button.setBounds(60, 120, 180, 30); this.button.addActionListener(this); this.add(button); this.textField=new JTextField(); this.textField.setBounds(60, 120, 180, 30); this.add(textField); this.textField.setVisible(false); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource()==button){ this.textField.setVisible(true); this.button.setVisible(false); } } } public class AAA extends JFrame{ private MyPanel panel; public AAA(){ this.panel=new MyPanel(); this.add(panel); this.setSize(300, 300); this.setVisible(true); } public static void main(String[] args) { new AAA(); } } 看看是不是要的这种效果啊

回答(3):

用什么写?在后台还是页面里面写?麻烦表述清楚

回答(4):

用JS做吧,可能容易点

回答(5):

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class t extends JFrame {
JButton b = new JButton("隐藏");
JTextField t = new JTextField("123123");

public t() {
add(b, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
b.setVisible(false);
showText();
}

});
setBounds(100, 100, 200, 100);
setVisible(true);
}

public void showText() {
add(t, BorderLayout.SOUTH);
}

public static void main(String[] args) {
new t();

}

}