Java程序中怎样实现通过一个按钮来让两个不同的JPanel之间…
我现在做一小程序。。可是现在问题是:我设计了两个不同的JPanel,其中的一个JPanel里的东西是个JTextField,而另一个JPanel里是一个按钮。我现在想做的...
我现在做一小程序。。可是现在问题是:我设计了两个不同的JPanel,其中的一个JPanel里的东西是个JTextField,而另一个JPanel里是一个按钮。我现在想做的效果是,当我单击那个按钮时,在另一个JPanel里的那个JTextField就会清空当前的输入栏。那个按钮的监听方法怎么写,高手帮个忙,小子在此谢谢了。
展开
2个回答
展开全部
在按钮的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);
}
}
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);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询