Java程序中怎样实现通过一个按钮来让两个不同的JPanel之间…

我现在做一小程序。。可是现在问题是:我设计了两个不同的JPanel,其中的一个JPanel里的东西是个JTextField,而另一个JPanel里是一个按钮。我现在想做的效果是,当我单击那个按钮时,在另一个JPanel里的那个JTextField就会清空当前的输入栏。那个按钮的监听方法怎么写,高手帮个忙,小子在此谢谢了。

在按钮的JPanel中添加一个JTextField域.如下示例:

import javax.swing.*;
public class Test extends JFrame
{
public Test(){
this.setTitle("Test Frame");
this.setSize(500,370);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
TextFieldPanel tp = new TextFieldPanel();
this.add(tp);

ButtonPanel bp = new ButtonPanel(tp.getField());
this.add(bp,java.awt.BorderLayout.SOUTH);

}

public static void main(String args[])
{
Test t = new Test();
t.setVisible(true);
}
}

class TextFieldPanel extends JPanel
{
JTextField field;
public TextFieldPanel()
{
field = new JTextField(20);
add(field);
}

JTextField getField(){
return field;
}
}

class ButtonPanel extends JPanel
{
JButton btn;
JTextField field;
public ButtonPanel(JTextField field)
{
this.field = field;
btn = new JButton("Clear");
btn.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent e){
ButtonPanel.this.field.setText("");
}
});

add(btn);

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-29
在事件方法中写:
text.setText("");
就会清空了

Java程序中怎样实现通过一个按钮来让两个不同的JPanel之间…
class ButtonPanel extends JPanel { JButton btn;JTextField field;public ButtonPanel(JTextField field){ this.field = field;btn = new JButton("Clear");btn.addActionListener(new java.awt.event.ActionListener(){ public void actionPerformed(java.awt.event.ActionEvent e){ ButtonPanel.this....

java中怎么让两个JButton在JPanel的中部,却不铺满整个JPanel?
吧JPanel的的布局设置为null,Jpanal panel=new JPanel();panel.setLayout(null);\/记不大清了,不过有一个这个东西 然后你添加button的时候button.setLocation(x,y);x与y为button的坐标,坐标位于你说的中间就可以 了。

java中怎么实现一个按钮加进两个不同的Jpanel?
我觉得可以用一个公有的方法创建按钮, 然后两个不同的Jpanel只要调用这个公有的方法就可以创建一个相同的按钮

怎样实现JFrame中两个甚至多个JPanel进行切换?
那就点击开始设置第一个jpanel1.setVisible(false);点击返回键 再第一个jpanel1.setVisible(true),第二个jpanel2.setVisible(false)

java中如何缩小两个jpanel间的距离
一个jframe中有两个Jpanel,布局管理器是GridLayout(2,1),但是两个jpanel上下之间的间隔很大,请问怎么样能缩小它们两之间的距离。3Q keelviobdwk | 浏览3365 次 |举报 我有更好的答案推荐于2016-02-12 15:23:32 最佳答案 可以用Swing,切换到图形界面,手动调整间距。如果不用图形界面,在代码中,就得将布局...

java中如何从一个窗口通过点击按钮进入另外一个窗口? (两个窗口不在一...
要写两个窗体,第一个窗体:import javax.swing.SwingUtilities;import javax.swing.JPanel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JButton;import java.awt.Rectangle;public class Frame1 extends JFrame implements Action...

java怎样放两个按钮在窗体的正中间
方法一: [绝对布局],通过设置panel 为绝对布局,然后设置按钮的宽高和位置 参考代码 import javax.swing.*;public class JFDemo1 extends JFrame{public JFDemo1() {JPanel panel=new JPanel();panel.setLayout(null);\/\/设置为空布局.或者叫绝对布局JButton messageButton = new JButton("OK");J...

java 怎么实现两个窗体的切换
1:登录界面代码:import java.awt.BorderLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.WindowConstants;public class Login extends javax.swing.JFrame { private JPanel jPanel1;private JButton...

java里怎样在JFrame中把两个JPanel内容完全显示
可以考虑是JTabbedPane(选项卡)组件, 把两个JPanel变成两个选项卡的内容 也可以使用卡片布局 ...简单的示范, 比如JTabel (表格)和JTextArea(文本框)内容太多, 直接显示不完全. 那么可以使用JScrollPane滚动面板来实现 import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.*;...

JAVA如何通过按钮来实现界面的切换?一个Frame 三个panel(其中一个为M...
使用CardLayout布局管理器。final CardLayout cards = new CardLayout();final JPanel container = new JPanel(cards);container.add(panel1, "panel1");container.add(panel2, "panel2");button1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ ...

相似回答