「java另一个窗口」java点击按钮,出现另一个窗口

博主:adminadmin 2022-12-15 01:48:05 61

本篇文章给大家谈谈java另一个窗口,以及java点击按钮,出现另一个窗口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java点击按钮,出现另一个窗口

第一个窗体LoginFrame.java:

package winRelation;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class LoginFrame extends JFrame {

JButton button = new JButton("点击我");

class LoginOKAction implements ActionListener {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null, "将进入另一个窗体!");

new MainFrame();

setVisible(false);

}

}

public LoginFrame(){

super();

this.setResizable(false);

this.setSize(new Dimension(300, 205));

this.setTitle("第一个窗体");

this.setLayout(null);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLocation(300, 200);

this.setVisible(true);

this.getContentPane().add(button, null);

button.setBounds(new Rectangle(111, 70, 78, 27));

button.addActionListener(new LoginOKAction());//给按钮加事件监听器

}

public static void main(String[] args) {

new LoginFrame();

}

}

第二个窗体MainFrame.java:

package winRelation;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JToolBar;

public class MainFrame extends JFrame{

private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();

public MainFrame() {

super("这是主窗体");

setSize(640, 480);

//菜单设置

JMenuBar menuBar = new JMenuBar();

this.setJMenuBar(menuBar);

JMenu menu1 = new JMenu("菜单1");

JMenu menu101 = new JMenu("菜单101");

JMenuItem menu10101 = new JMenuItem("菜单10101");

JMenuItem menu102 = new JMenuItem("菜单102");

menu102.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

addIFame(new InternalFrame());

}

});

menu101.add(menu10101);

menu1.add(menu101);

menu1.add(menu102);

JMenu menu2 = new JMenu("菜单2");

menuBar.add(menu1);

menuBar.add(menu2);

this.getContentPane().add(DESKTOP_PANE);

this.setVisible(true);

}

public static void addIFame(JInternalFrame iframe) { // 添加子窗体的方法

DESKTOP_PANE.add(iframe);

}

public static void main(String[] args) {

new MainFrame();

}

}

第三个窗体(MainFrame中的窗体)InternalFrame.java:

package winRelation;

import javax.swing.JButton;

import javax.swing.JInternalFrame;

public class InternalFrame extends JInternalFrame{

public InternalFrame() {

super();

setClosable(true);

setIconifiable(true);

setTitle("内部窗体");

setBounds(50,50,400,300);

setVisible(true);

}

}

已经测试通过!

Java如何实现关闭一个窗口弹出另外一个窗口

在Java中,对窗口任何操作都会对应的监听事件,故要实现关闭一个窗口时弹出另外一个窗口,只需要在该关闭的窗口的监听事件中添加弹窗事件即可。

具体实现如下:

this.addWindowListener(new

WindowAdapter(){

@Override

public

void

windowClosing(WindowEvent

e)

{

setVisible(false);

new

JFrame("新窗口");

}});

在JavaGUI编程中,关闭窗口弹出新窗口是很常见的动作,比如一个窗口的业务操作完成了,需要跳转到另一个窗口继续执行,此时就需要关闭旧窗口并弹出新窗事件。值得注意的地方时,有时候的关闭往往只是暂时的将旧窗口暂时隐藏,而不是真的关闭,因为之后可能还会继续用到,为了节省开销,暂时的隐藏有利于提供效率。

java中如何从一个窗口通过点击按钮进入另外一个窗口? (两个窗口不在一个class中。)

要写两个窗体,第一个窗体:

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) {

}

}

关于java另一个窗口和java点击按钮,出现另一个窗口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-15,除非注明,否则均为首码项目网原创文章,转载请注明出处。