当前位置:首页 > 开发教程 > java教程 >

JavaGUI实现多个窗口切换效果

时间:2022-04-26 15:31 来源:未知 作者:独拥你 收藏

这篇文章主要为大家详细介绍了JavaGUI实现多个窗口的切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下

功能:

主要实现的功能为实现多个界面的切换,并且一个window的打开和关闭可以影响其他window。

不足:

①可以多次多开同一个界面(可以加一个变量控制)
②没有实现一个的窗体关闭,它的子窗体也随即关闭的效果

效果图:

JavaGUI实现多个窗口切换效果

JavaGUI实现多个窗口切换效果

JavaGUI实现多个窗口切换效果

JavaGUI实现多个窗口切换效果

第一个界面(主界面)

package 多界面跳转;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

class Frame1 extends JFrame implements WindowListener
{
 JButton b2 = new JButton("界面2");
 JButton b11 = new JButton("界面11");

 
 private class btListener implements ActionListener
 {
  public void actionPerformed(ActionEvent e) {
   if(e.getActionCommand().equals("界面2"))
   {
    setVisible(false);
    new Frame2();
   }
   else if(e.getActionCommand().equals("界面11"))
   {
    new Frame11();
   }
  }
 }
 
 public Frame1()
 {
  this.setTitle("界面1");
  this.setSize(400, 300);
  this.setLayout(new FlowLayout());
  b11.addActionListener(new btListener());
  b2.addActionListener(new btListener());
  this.add(b11);
  this.add(b2);
  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  this.setLocationRelativeTo(null);
 }

 public void windowOpened(WindowEvent e) {
 }

 public void windowClosing(WindowEvent e) {
  setVisible(true);
 }
 public void windowClosed(WindowEvent e) {
 }
 public void windowIconified(WindowEvent e) {
 }
 public void windowDeiconified(WindowEvent e) {
 }
 public void windowActivated(WindowEvent e) {
 }
 public void windowDeactivated(WindowEvent e) {
 }


 public static void main(String[] args) {
  Frame1 f1 = new Frame1();
  f1.setVisible(true);
 }
}

第二个界面

package 多界面跳转;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

class Frame2 extends JFrame implements ActionListener
{
 JButton bt = new JButton("界面21");
 Frame2()
 {
  this.setSize(350, 300);
  this.setLocationRelativeTo(null);
  this.setLayout(new FlowLayout());
  this.setTitle("界面2");
  this.add(bt);
  bt.addActionListener(this);
  this.addWindowListener(new Frame1());
  this.addWindowListener(new Frame11());  
  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  this.setVisible(true);
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  new Frame21();
 }
}

由第一个界面打开的界面

package 多界面跳转;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
class Frame11 extends JFrame implements WindowListener
{
 Frame11()
 {
  this.setSize(300, 200);
  this.setLocationRelativeTo(null);
  this.setTitle("界面11");
  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  this.setVisible(true);
 }

 @Override
 public void windowOpened(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void windowClosing(WindowEvent e) {
  // TODO Auto-generated method stub
  if(this.isVisible()) {
//   setSize(800,600);
  }
 }
  

 @Override
 public void windowClosed(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void windowIconified(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void windowDeiconified(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void windowActivated(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void windowDeactivated(WindowEvent e) {
  // TODO Auto-generated method stub
  
 }
}

由第二个界面打开的界面

package 多界面跳转;
import javax.swing.*;
import java.awt.*;
class Frame21 extends JFrame
{
 Frame21()
 {
  this.setSize(150, 100);
  this.setLocationRelativeTo(null);
  this.setTitle("界面21");
  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  this.setVisible(true);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持源码搜藏网。


下一篇:没有了

java教程阅读排行

最新文章