java中创建了一个dialog,dialog中有一个按钮,点击这个按钮改变拥有者框架panel的颜色
发布网友
发布时间:2022-07-22 03:56
我来回答
共1个回答
热心网友
时间:2023-11-04 19:41
我看了你的程序,帮你改了一下,现在运行没问题了,你看看吧。
完整的程序如下:(改动的地方见注释)
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class SureChangeTest {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable(){
public void run(){
SureChangeTestFrame frame = new SureChangeTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class SureChangeTestFrame extends JFrame{
public SureChangeTestFrame(){
setTitle("sure to change the color");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
panel = new JPanel(); //这里JPanel panel=new JPanel();改成panel=new JPanel();
JButton yellowbutton = new JButton("yellow");
yellowbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
if(dialog == null){
dialog = new ColorDialog(SureChangeTestFrame.this);
dialog.setVisible(true);//这里把这一句移到if语句里
}
}
});
panel.add(yellowbutton);
add(panel);
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
private ColorDialog dialog;
public static JPanel panel;//这里private JPanel panel;改成public static JPanel panel;
}
class ColorDialog extends JDialog{
public ColorDialog(JFrame owner){
super(owner,"sure?",true);
add(new JLabel("Are you sure to change the panel color?"),BorderLayout.CENTER);
JButton ok = new JButton("ok");
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
SureChangeTestFrame.panel.setBackground(Color.YELLOW);//这里panel.setBackground(Color.YELLOW);改成SureChangeTestFrame.panel.setBackground(Color.YELLOW);
}
});
JButton cancel = new JButton("cancel");
cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
setVisible(false);
}
});
JPanel buttonpanel = new JPanel();
buttonpanel.add(ok);
buttonpanel.add(cancel);
add(buttonpanel,BorderLayout.SOUTH);
setSize(250,150);
}
}
java界面 我先做一个界面,在界面的按钮的监听器里实例化另一个类的...
如果让frameA临时消失,frameA设置frameA.setVisibled(false)就可以,比如类似QQ登录验证的时候,先进行密码验证,如果密码错误,frameA消失了其实还是需要frameA再显示的,就这样做 如果让frameA永久消失,frameA设置frameA.dispose()就可以,如果密码验证成功,是需要关闭frameA的,让frameA的资源释放,就...
mfc 在一个Dialog上点击了一个按钮,弹出一个popup属性的窗口,想这个...
在主对话框中,通过类向导添加一个 WM_MOVE的消息处理,见截图:然后在WM_MOVE的消息响应函数中通过调用API函数:SetWindowPos()来设置你那个popup窗口的位置,这样就能达到你想要的效果了。
我在JTabbedPane选项卡中加了一个按钮点击按钮后弹出一个jframe框 怎么...
是这样的,一般这种情况, 使用的是JDialog .而不是JFrame 作为弹出的窗口 因为JDialog,可以直接设置为模态状态, 达到你要的效果 myJDialog.setModal(true);JDialog的写法很简单,和JFrame差不多~
如何使用dojo 创建窗口,例如点击一个按钮弹出个新窗口。
<button id="b1" onclick="showDia()">show dialog</button>
java 如何通过点击不同的按钮切换界面!
import java.awt.event.*;public class Mulit_Panel extends JFrame{ JDialog frame1=new JDialog();JDialog frame2=new JDialog();JPanel jpf1=new JPanel();JPanel jpf2=new JPanel();public Mulit_Panel(){ JPanel jp=new JPanel();JButton jbt1=new JButton("查询");JButton jbt...
java Frame中加入了一个panel,想点击一个按钮时,关闭此pannel,同时关闭...
你在创建一个按钮,在把按钮添加到面板或者Frame上,在按钮上添加监听,之后就是调用一个方法,在方法中添加。int val = JOptionPane.showConfirmDialog(frame, "Are u sure?");if(val==JOptionPane.YES_OPTION){ frame.setVisible(false);System.exit(0);你点击确定是会弹出一个对话框,问你是否真...
eclipse创建Dialog窗口的操作步骤介绍_eclipse创建Dialog窗口的操作步 ...
首先,确保你已经创建了一个名为"javadialog"的SWT-Java项目。在这个项目中,你需要新建两个窗口:一个名为"javashell.java"的Shell窗口,以及一个名为"javadialog.java"的Dialog窗口。在"javashell.java"文件中,切换到设计模式,添加一个Text和Button组件。然后,双击按钮,进入它的"widgetSelected"事件...
如何将dialog中的button动态设置为disable
基本的命令就是将“确定”这个button设置为disable(false).如下的方法,就是构造一个自定义的dialog,其中包括一个编辑栏(EditText)和两个按钮(确定和取消)如果想要当EditText为空的时候让确定按钮为不可点击状态 你可能会如下实现(但是这个里面有问题!!!)。public Dialog customDialog(Context ...
如何在一个dialog点按钮弹出一个dialog
import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class MainF extends JFrame{ public MainF(){ JButton b = new JButton("Dia");b.addActionListener(new ActionListener() { Override public void actionPerformed(...
java怎么实现点击一个按钮打开一个窗口,再点一次显示窗口正在运行,关掉...
"点击我");classLoginOKActionimplementsActionListener{publicvoidactionPerformed(ActionEvente){JOptionPane.showMessageDialog(null,"将进入另一个窗体!");newMainFrame();setVisible(false);}}publicLoginFrame(){super();this.setResizable(false);this.setSize(newDimension(300,205));...