问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA怎么写代码使一个窗口打开另一个窗口

发布网友 发布时间:2022-05-09 15:55

我来回答

3个回答

热心网友 时间:2023-10-08 20:23

1、首先,我们需要在代码中导入相应的包,以便能够使用 JFrame 类。然后,新建一个窗口类继承自 JFrame 类。

2、在窗口类中创建一个初始化方法,我们需要在该方法中初始化窗口类对象,并将其显示出来。

3、对窗口对象进行初始化时,我们先设置好窗口的标题。

4、再设置窗口的大小,参数分别为窗口的长和宽,单位是像素。

5、接着设置窗口左上角的坐标位置,以确定窗口的位置。参数分别为窗口左上角顶点的 x 坐标和 y 坐标。

6、最后,调用 setVisible 方法将窗口显示出来。参数为 true 表示显示,为 false 表示隐藏。

7、窗口类写好后,我们在 main 方法中创建一个窗口类对象,然后调用该对象的初始化方法就可以将窗口显示出来了。

热心网友 时间:2023-10-08 20:24

要写两个窗体,第一个窗体:
import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;

public class Frame1 extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JButton jButton = null;

public void actionPerformed(ActionEvent arg0) {
Frame2 f2=new Frame2(this);
f2.setVisible(true);
this.setVisible(false);
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(92, 62, 105, 35));
jButton.setText("进入子窗体");
jButton.addActionListener(this);
}
return jButton;
}
public static void main(String[] args) {
// TODO 自动生成方法存根
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Frame1 thisClass = new Frame1();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public Frame1() {
super();
initialize();
}
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("主窗体");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}
}

第二个窗体(可以从第一个窗体进入第二个窗体,也可从第二个窗体回到第一个窗体)
import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;

public class Frame2 extends JFrame implements ActionListener, WindowListener {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JButton jButton = null;

private Frame1 f1=null;

public void actionPerformed(ActionEvent arg0) {
f1.setVisible(true);
this.setVisible(false);

}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(85, 48, 105, 39));
jButton.setText("回到主窗体");
jButton.addActionListener(this);
}
return jButton;
}
public static void main(String[] args) {
// TODO 自动生成方法存根
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Frame2 thisClass = new Frame2();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public Frame2() {
super();
initialize();
}

public Frame2(Frame1 f) {
this();
f1=f;
}
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("子窗体");
this.addWindowListener(this);
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}

public void windowActivated(WindowEvent arg0) {
}

public void windowClosed(WindowEvent arg0) {
}

public void windowClosing(WindowEvent arg0) {
f1.setVisible(true);
}

public void windowDeactivated(WindowEvent arg0) {
}

public void windowDeiconified(WindowEvent arg0) {
}

public void windowIconified(WindowEvent arg0) {
}

public void windowOpened(WindowEvent arg0) {
}
}

热心网友 时间:2023-10-08 20:24

提供一个思路
//登录窗口
class Login extends JFrame{
JButton register;
JButton sure;
register.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
this.setVisible(false);
new RegisterFrame(this);
}
});
sure.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
this.setVisible(false);
new MainFrame(this);}
});
}

//注册窗口
class RegisterFrame extends JFrame{
////省略主要内容
Login login;
RegisterFrame(Login l){
login = l;
}
JButton goback;
goback.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
this.setVisible(false);
login.setVisible(true);}
});

}

//主窗口
class MainFrame extends JFrame{
////省略主要内容
Login login;
MainFrame(Login l){
login = l;
}
JButton goback;
goback.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
this.setVisible(false);
login.setVisible(true);}
});

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
一个成功女人背后的五种男人 为什么猫咪爱睡床边 事业单位工作人员如何正常增加薪级工资 红旗Linux极致的体验新世界红旗linux怎么样 工龄33年10个月+薪级工资是多少? 15岁,体重70kg身高175cm超重了吗 海南三亚 N70音乐版 5310卖多少钱? ...有谁知道怎么办理港澳SaSa,卓悦,万宁的会员卡呢?拜托拜托 _百度... 海南的朵唯手机都在哪些地方有卖?王者天创卖的朵唯手机都是真货吗? 我今年17岁。身高175CM,体重70公斤。弹跳差不多50CM。跳远2.35米左右... 三文鱼为什么叫三文鱼? “三文鱼”为什么叫三文鱼啊?不明白! 请问 权证的交易与股票的交易有什么区别么? 股票和权证有什么区别吗? 如何把相册里的图片和扫描王软件的图片拼到一起? 外国著名的桥的历史 博斯普鲁斯海峡大桥的历史发展 我国石拱桥的发展历程是怎样的? 谁知道中国“桥”的发展史? 汉江大桥的发展历程 桥的发展历史 石拱桥的发展历史 电脑正在操作这个页面又需要操作别的文件,怎么保存前面的文件? 我想要买一部手机,父母不买怎么办? 衣服上的油烟味怎么快速去除 怎样快速去除衣服上的烟味 2019华为手机哪款适合老年人使用? 和父母互动的作文六百字 三千块钱左右的价位手机,给父母买,应该选哪个? 急用作文《我与父母之间的那些事》,关于你成长的故事,600字左右。 java在窗口中添加按钮怎么显示在窗口啊 全能扫描王如何把扫描好的照片弄成白板 java多窗口问题 三文鱼为什么叫三文鱼呢?? 手机如何用扫描王把图片做成PPT? 莲子放冰箱几小时就老了? 三文鱼 百科 干莲子放冰箱冷藏三年能吃吗 莲子,百合,银耳能不能放冰箱 0Pp0手机最高像素是多少 oppo哪个型号像素最高 防火门出口需要哪些认证,怎样操作 防火门出口认证问题 防火门的CCC认证怎么做啊? 闭门器出口欧洲需要CE认证吗? 做一个BS476防火门认证要多少钱 防火门的 欧A 欧B 欧C 是什么意思 钢质防火门等级(甲,乙,丙等级)钢印打在门的哪个部位? 这是哪里。。。 关于悉尼歌剧院的精美图片