如何在一个jframe中点击按钮显示另一个jframe 两个jframe类a,b,类中都含有main方法。我的意思是,如何点击一个jframe a中按钮,就调用了另一个jframe,不是单单的显示,而是创建了一个新的程序。我用 new b().main(new String[0]);方法虽然能显示一个frame,但是如果关闭这个frame,原来的frame也关闭了,怎么能让原先的frame仍然在那? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请查询process, runtime相关api 我提出一个设想不知道能不能成,让那个jframe b 再实现个Runnable接口,哈哈,知道我想干嘛了吧,Thread,分个线程出来不就OK了吗,如果能成别忘了告诉我一声阿,呵呵,我自己没试,靠你啦 //应该不会出现你说的那种情况package com.ray.tests.newJFrame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;public class MyJFrame extends JFrame { private static final long serialVersionUID = 1L; /** * @param args */ public static void main(String[] args) { JButton button = new JButton("button"); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { JFrame newFrame = new JFrame("newFrame"); newFrame.setSize(200, 100); newFrame.setVisible(true); } }); MyJFrame frame = new MyJFrame(); frame.setSize(400, 300); frame.add(button); frame.setVisible(true); }} 这个是不是你要求的.import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.*;public class MyFrame extends JFrame implements ActionListener{ JLabel myLabel; JButton b; JPanel p=new JPanel(); public MyFrame(){ myLabel=new JLabel("点击铵钮显示另一个界面"); b=new JButton("显示"); p.add(myLabel); p.add(b); this.setContentPane(p); this.setSize(300,300); this.setVisible(true); b.addActionListener(this); } public void actionPerformed(ActionEvent ae){ if(ae.getSource()==b){ NewFrame nf=new NewFrame(); nf.setVisible(true); } } public static void main(String[] args){ new MyFrame(); }}class NewFrame extends JFrame{ JLabel myLabel; JPanel p=new JPanel(); public NewFrame(){ myLabel=new JLabel("这是新的界面"); p.add(myLabel); this.setContentPane(p); this.setSize(200,200); this.setTitle("这是新的界面"); this.setVisible(true); } public static void main(String[] args){ new NewFrame(); }} 顶级菜鸟求:反射教程中听到这样的话,好奇怪··· 为甚ex执行change方法后e.str没有改变呢? JWindow弹出框无法鼠标单击 关于一个类调用的问题? 为什么数据源不能省掉?数据源作用是什么? 如何有效去除StringBuffer中字符串的最后一个非空字符???? 还是错误! 同步里的synchronized(this) 中的this 指的是什么? JAVA两个线程控制问题 在线等 Toolkit.getDefaultToolkit().beep();有错吗?怎么听不到声音? cmd 中不知道那里出错了,显示不了JAVA了。 tomcat6的用法
package com.ray.tests.newJFrame;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;public class MyJFrame extends JFrame { private static final long serialVersionUID = 1L; /**
* @param args
*/
public static void main(String[] args) {
JButton button = new JButton("button");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
JFrame newFrame = new JFrame("newFrame");
newFrame.setSize(200, 100);
newFrame.setVisible(true);
}
});
MyJFrame frame = new MyJFrame();
frame.setSize(400, 300);
frame.add(button);
frame.setVisible(true);
}}
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
public class MyFrame extends JFrame implements ActionListener{
JLabel myLabel;
JButton b;
JPanel p=new JPanel();
public MyFrame(){
myLabel=new JLabel("点击铵钮显示另一个界面");
b=new JButton("显示");
p.add(myLabel);
p.add(b);
this.setContentPane(p);
this.setSize(300,300);
this.setVisible(true);
b.addActionListener(this);
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==b){
NewFrame nf=new NewFrame();
nf.setVisible(true);
}
}
public static void main(String[] args){
new MyFrame();
}
}class NewFrame extends JFrame{
JLabel myLabel;
JPanel p=new JPanel();
public NewFrame(){
myLabel=new JLabel("这是新的界面");
p.add(myLabel);
this.setContentPane(p);
this.setSize(200,200);
this.setTitle("这是新的界面");
this.setVisible(true);
}
public static void main(String[] args){
new NewFrame();
}
}