我想用Swing实现单击按钮后能弹出一个新窗口!!这是我的代码!谢谢!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想用Swing实现单击按钮后能弹出一个新窗口!!这是我的代码!谢谢!相关的知识,希望对你有一定的参考价值。
import javax.swing.*;
import java.awt.event.*;
public class Swing7 extends JFrame implements ActionListener
JButton jb=new JButton();
public Swing7()
this.setTitle("Java——");
jb.setText("确定");
jb.setMnemonic('a');
this.add(jb);
this.setBounds(200,300,250,300);
this.setVisible(true);
jb.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
JLable jl=new JLale();
this.setTitle("新窗口");
jl.setText("这是新窗口");
jl.setVerticalAlignment(JLable.CENTER);
jl.setHorizontaAlignment(JLable.CENTER);
this.add(jl);
this.setBounds(200,300,250,300);
this.setVisible(true);
);
public static void main(String args[])
Swing7 s=new Swing7();
// 1 实现接口必须要实现接口的方法
// 2 创建新窗口必须实例化新的JFrame或JDialog对象。
// 详细的请看代码注释吧。
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.*;
public class Swing7 extends JFrame implements ActionListener
JButton jb = new JButton();
public Swing7()
this.setTitle("Java——");
jb.setText("确定");
jb.setMnemonic('a');
this.add(jb);
this.setBounds(200, 300, 250, 300);
this.setVisible(true);
jb.addActionListener(this); //由于Swing7实现了ActionListener接口,所以给jb添加的ActionListener就是Swing7实例。
public void actionPerformed(ActionEvent e) // 实现ActionListener接口的actionPerformed接口。
JFrame frame = new JFrame("新窗口");//构造一个新的JFrame,作为新窗口。
frame.setBounds(// 让新窗口与Swing7窗口示例错开50像素。
new Rectangle(
(int) this.getBounds().getX() + 50,
(int) this.getBounds().getY() + 50,
(int) this.getBounds().getWidth(),
(int) this.getBounds().getHeight()
)
);
JLabel jl = new JLabel();// 注意类名别写错了。
frame.getContentPane().add(jl);
jl.setText("这是新窗口");
jl.setVerticalAlignment(JLabel.CENTER);
jl.setHorizontalAlignment(JLabel.CENTER);// 注意方法名别写错了。
frame.setVisible(true);
public static void main(String args[])
Swing7 s = new Swing7();
参考技术A 首先你JLabel拼错了 其次你ActionListener里面不能用this 你这个this指的是谁
最重要的是你为什么要继承 ActionListener接口!
获悉点击了弹出窗口中的哪个按钮
【中文标题】获悉点击了弹出窗口中的哪个按钮【英文标题】:Get informed which button in popup window has been clicked 【发布时间】:2013-10-07 09:38:02 【问题描述】:我正在尝试实现我的小型 android 应用程序的一项功能。 有一个图像按钮,当我单击它时会出现一个弹出窗口。根据用户单击该弹出窗口中的哪个按钮,该图像按钮应相应地更改其图像。 就像我在弹出窗口中单击 1 时一样,我应该通知按钮将图像更新为 1。
谁能告诉我怎么做?
【问题讨论】:
分享一些你试过的代码。你的弹出窗口在哪里,那个按钮在哪里?? 【参考方案1】:您可以使用以下方法
public void setTabFor(Button btn)
for (Button button : btnArray)
if (button == btn)
if (button == button_one)
Utils.setTabButton(R.drawable.left_selected, button_one);
else if (button == button_two)
Utils.setTabButton(R.drawable.middle_selected, button_two);
else if (button == button_three)
Utils.setTabButton(R.drawable.middle_selected, button_three);
else
Utils.setTabButton(R.drawable.right_selected, button_four);
Utils类中的setTabButton用于设置backgrounddrawable:
public static void setTabButton(int drawable, Button... btn)
for (Button button : btn)
button.setBackgroundResource(drawable);
【讨论】:
我在 android 文档中找不到 setTabButton。有这个功能吗? 请查看我的帖子..我已将 setTabButton 作为 mu Utils 类中的静态方法。您可以按照同样的方法进行操作。【参考方案2】:您应该为弹出窗口中的每个按钮分配一个ID。然后您必须实现一个listener,它将通知(并将 ID 传递给)您的对象(负责图像按钮)单击了按钮,并且您的对象将根据收到的 ID 更新图像按钮。
【讨论】:
所以,我应该实现 onClick 功能。但是,如何将此 ID 传递给该按钮?我应用哪种技术在此按钮和弹出窗口之间进行通信?【参考方案3】:试试这个, 首先,您必须为您在应用程序中使用的所有图像按钮分配唯一的 ID。然后您在 ID 的帮助下单击哪个按钮,您可以根据自己的选择显示按钮。
希望它能帮助您并尽快解决您的问题。
【讨论】:
以上是关于我想用Swing实现单击按钮后能弹出一个新窗口!!这是我的代码!谢谢!的主要内容,如果未能解决你的问题,请参考以下文章
JAVA_swing抖动窗口,要求在拖动窗口位置后能在新位置进行抖动!请看代码...
如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。