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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不相关的知识,希望对你有一定的参考价值。

Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不管点击哪个按钮都是弹出两个窗口,求大神们解救,新手来的~

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

追问

太棒了!小弟感激万分!!解决了哈哈

参考技术A 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);

追问

您的这是一种方法,但是另一位网友的代码跟我现在用的方法一样,所以我根据他的代码很快就修改成功了。但是小弟真的是万分感激您,谢谢.

追答

好咯,

参考技术B 在各自的事件监听里面,new不同的窗口的构造函数就行了。追问

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

追答

点击一个按钮会同时弹出两个?

追问

嗯,对。本来是一个按钮对应一个窗口的,现在点击任何一个按钮都弹出两个窗口

追答

你把你的完整代码赋值粘贴出来,待会帮你看看。

追问

已经解决了,不过还是谢谢您的热心帮助!

参考技术C 你没有把两个按钮区分开来追问

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

追答

我靠,我多少年不学了,忘了,不过看着你的代码好像点击两个按钮输出的结婚是一样的啊!

结果

哈哈

追问

对啊,结果就是一样的。

追答

那肯定输出的一样啊!你是不是输出的结果设置的是两张图片啊?

追问

大哥解决了,谢谢你的热心帮助

大侠们,跪求一个关于Axure全局变量的问题

以下这个问题,我虽然知道应该是Axure的全局变量问题,但是我就是做不出效果来,跪求解决方案:我有两个动态面板页面,分别是动态面板A,动态面板B。面板A上有两类按钮,(动态面板)【立即报价】按钮11个(三个状态:立即报价、修改报价、查看报价),【确认】按钮1个。面板B上只有【确认】按钮1个。面板B覆盖在面板A之上,默认隐藏。当我点击面板A上的【立即报价】按钮时,面板B显示。当我点击面板B上的【确认】按钮时,面板B隐藏,同时需要将刚才点击的【立即报价】按钮改为【修改报价】。当我点击面板A上的【确认】按钮时,面板A隐藏,同时需要将面板A上的所有【修改报价】按钮改为【查看报价】。大哥们,其他的效果都好实现,我现在就是对加粗和下划线部分实现不了,跪求解决方案,小弟不胜感激!

说了这么多,就是要问怎么改变文字样式?那和全局变量有什么关系?没看懂

不过你可以这样来改变文字样式

首先选择你要改变的部件,然后给它一个选择状态下的样式,如下图1

然后你就可以用其他任何时间来选择它了,如图2, 比如你可以隐藏动态面板时选择这个部件,它就会用选择状态下你设定的样式了

参考技术A "加粗和下划线部分"是哪一部分,你没说清楚……

以上是关于Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后弹出不同的窗口?我的代码不的主要内容,如果未能解决你的问题,请参考以下文章

请问下面的图片左上方的两个按钮加中间竖线用vc++中的MFC怎么去实现?完成后,另赠100分。

java 编程 背景颜色的改变

java实现想一个打开的html表单中写入我想填的值

VBA编程中MsgBox函数怎么用

在java中如何设定面板的背景颜色

GridLayout中如何设置一个按钮占两个位置,就像我截图的那样