Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不

Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不管点击哪个按钮都是弹出两个窗口,求大神们解救,新手来的~... Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不管点击哪个按钮都是弹出两个窗口,求大神们解救,新手来的~ 展开
 我来答
匿名用户
推荐于2017-11-27
展开全部
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test extends JFrame{

public Test(){
this.setSize(400,300);
this.setLocationRelativeTo(null);//设置居中
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel jp =new JPanel();

final JButton jb1 = new JButton("弹出蓝色");
JButton jb2 = new JButton("弹出青色");

jp.add(jb1);
jp.add(jb2);

//给第一个按钮添加监听
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame jf=new JFrame();
JPanel jp=new JPanel();
jf.setSize(200, 200);
jf.add(jp);
jp.setBackground(Color.blue);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
//给第二个按钮添加监听
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame jf=new JFrame();
JPanel jp=new JPanel();
jf.setSize(200, 200);
jf.add(jp);
jp.setBackground(Color.cyan);
jf.setLocationRelativeTo(jb1);
jf.setVisible(true);
}
});
this.add(jp);
}
public static void main(String arg[]){
new Test().setVisible(true);
}
}
追问
太棒了!小弟感激万分!!解决了哈哈
Tinx_Lee
2015-06-14 · 超过13用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:30.9万
展开全部
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Pratice1 extends Frame implements ActionListener{
 Button b1,b2;
 Pratice1(){
 b1=new Button("b1");
 b2=new Button("b2");
 add(b1,"North");
 add(b2,"Center");
 b1.addActionListener(this);
 b2.addActionListener(this);
 pack();
 
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  if(e.getSource()==b1){
   Frame f1=new Frame("我是b1的窗口");
   f1.setVisible(true);
   f1.setSize(300, 300);// TODO 自动生成的方法存根
  }
  else if(e.getSource()==b2){
   Frame f1=new Frame("我是b2的窗口");
   f1.setVisible(true);
   f1.setSize(300, 300);
  }
  
 }
public static void main(String args[]){
 Pratice1 p=new Pratice1();
 p.setVisible(true);
}
}
追问
您的这是一种方法,但是另一位网友的代码跟我现在用的方法一样,所以我根据他的代码很快就修改成功了。但是小弟真的是万分感激您,谢谢.
追答
好咯,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萢萢i3
2015-06-14 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4661万
展开全部
在各自的事件监听里面,new不同的窗口的构造函数就行了。
更多追问追答
追问

我是这样的,结果就是同时弹出两个窗口。……能不能简单帮我纠正一下,小弟谢过了

追答
点击一个按钮会同时弹出两个?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仁丝微q5
2015-06-14 · TA获得超过137个赞
知道答主
回答量:703
采纳率:0%
帮助的人:134万
展开全部
你没有把两个按钮区分开来
更多追问追答
追问

我区分了呀,这样应该算区分开了吧?然后呢……

追答
我靠,我多少年不学了,忘了,不过看着你的代码好像点击两个按钮输出的结婚是一样的啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式