如何在一个登陆窗体包中,登陆成功时让主界面的添加按钮等组件进行可用。 意思就是说,我的登陆窗体在一个包中,主程序运行时显示主窗体界面,所有按钮都不可用只有登陆按钮可用,登陆成功后,让所有按钮都可进行编辑。如何在登陆按钮里添加事件,问题是登陆窗体和主界面在不同的包中。如何在登陆窗体的包中去调用主界面的组件。登陆窗体的包是主界面的子包。高手说说具体应该怎么实现,如何去调用主界面的组件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是公共方法问题1.用接口.主界面和登陆界面同时使用接口2.在登陆界面中构造函数中传入主界面的对象..此时主界面已实例化,但没有setVisible 你先把你的文件放在同一个包中吧!呵呵!!在不同包中还没试过!明天试试吧!你在主窗体界面中new 一个登陆界面把主窗体的对象在登陆界面的构造函数中传过去。然后在登陆界面按钮中加入事件。呵呵~!我去做个例子试试啊!我不是高手,所以只有写出来用用呵呵~! import java.awt.*;import javax.swing.*;import java.awt.event.*;public class ToTest extends JFrame{ /** * Method main * * * @param args * */ Container con; public JButton btnMain = new JButton("改变"); JPanel pnlMain = new JPanel(); //构造函数 public ToTest(){ con = this.getContentPane(); btnMain.setEnabled(false); pnlMain.add(btnMain); con.add(pnlMain); this.setBounds(250,150,500,400); this.setVisible(true); //这个是用来把btnMain这个对象传过去。 //这样就可以在另一个窗口调用了 User ob =new User(this.btnMain); } public static void main(String[] args) { // TODO: 在这添加你的代码 new ToTest(); } }以上是一个ToTest的类用来生成一个不可用按钮的体import java.awt.*;import javax.swing.*;import java.awt.event.*;public class User extends JFrame{ /** * Method main * * * @param args * */ Container con; JButton btnMain = new JButton("是否改变"); JPanel pnlMain = new JPanel(); JButton btn;//定义的一个按钮 //构造函数,在参数当中传入在ToTest中的对象 public User(JButton btn){ con = this.getContentPane(); //给btn注册事件 btnMain.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ btnMain_change(e); } }); //在这里加入控件 btnMain.setEnabled(true); pnlMain.add(btnMain); con.add(pnlMain); this.btn= btn; this.setBounds(150,150,350,350); this.setVisible(true); } public void btnMain_change(ActionEvent e){ btn.setEnabled(true);//在这里发生改变 } public static void main(String[] args) { // TODO: 在这添加你的代码 } }在这个User类中点击一个按钮来控制ToTest类中的按钮变为可用 原理都在上面了。如果你非要在另一包上调用你写的类的话。你把你要调用的那个类先打包然后放JDK下面的ext这个包下面。这样你就可以用了!同学加油!^_^ 谢谢楼上拉,其实在同一包中和不同包中构造方法传递组件和传参都是一样的,还有就是你定义的JButton是个全局的吧应该用不到this吧,直接new User(btnMain);这样写是否可以? Matisse拖拽控件的问题 Java放大图片 高分求助,JDOM build(InputStream)问题! 问一个关于Jacob问题? 在java 子类继承父类的的非私有变量和方法 ?这句话对吗 小数问题再次提问!急急急! 帮我看看出什么错了,我怎么找不出来! access多表查询的问题,棘手怪异的问题? 大家帮帮菜鸟,看我这几行代码是怎么回事! 安装JDK不按照默认路径 SWT DESIGNER的问题? javabean 写成这样的,在jsp 里怎么样调用 增加 删除和修改呢
1.用接口.主界面和登陆界面同时使用接口
2.在登陆界面中构造函数中传入主界面的对象..此时主界面已实例化,但没有setVisible
呵呵!!
在不同包中还没试过!明天试试吧!你在主窗体界面中new 一个登陆界面
把主窗体的对象在登陆界面的构造函数中传过去。然后在登陆界面按钮中加入事件。呵呵~!我去做个例子试试啊!
我不是高手,所以只有写出来用用呵呵~!
import javax.swing.*;
import java.awt.event.*;public class ToTest extends JFrame{
/**
* Method main
*
*
* @param args
*
*/
Container con;
public JButton btnMain = new JButton("改变");
JPanel pnlMain = new JPanel();
//构造函数
public ToTest(){
con = this.getContentPane();
btnMain.setEnabled(false);
pnlMain.add(btnMain);
con.add(pnlMain);
this.setBounds(250,150,500,400);
this.setVisible(true);
//这个是用来把btnMain这个对象传过去。
//这样就可以在另一个窗口调用了
User ob =new User(this.btnMain);
}
public static void main(String[] args) {
// TODO: 在这添加你的代码
new ToTest();
}
}
以上是一个ToTest的类用来生成一个不可用按钮的体
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class User extends JFrame{
/**
* Method main
*
*
* @param args
*
*/
Container con;
JButton btnMain = new JButton("是否改变");
JPanel pnlMain = new JPanel();
JButton btn;//定义的一个按钮
//构造函数,在参数当中传入在ToTest中的对象
public User(JButton btn){
con = this.getContentPane();
//给btn注册事件
btnMain.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
btnMain_change(e);
}
});
//在这里加入控件
btnMain.setEnabled(true);
pnlMain.add(btnMain);
con.add(pnlMain);
this.btn= btn;
this.setBounds(150,150,350,350);
this.setVisible(true);
}
public void btnMain_change(ActionEvent e){
btn.setEnabled(true);//在这里发生改变
}
public static void main(String[] args) {
// TODO: 在这添加你的代码
}
}在这个User类中点击一个按钮来控制ToTest类中的按钮变为可用
还有就是你定义的JButton是个全局的吧应该用不到this吧,直接new User(btnMain);
这样写是否可以?