「java点击窗口」java点击按钮关闭窗口

博主:adminadmin 2022-12-01 06:05:07 75

今天给各位分享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怎么实现点击按钮关闭窗口

你可以按钮上添加事件把窗口2设置为隐藏。

jButton1.setText("ok");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jFrame1.setVisible(false);

}

});

另外 按钮退出的命令是在按钮的事件中写

System.exit(0);

java点击菜单项弹出窗口怎么弄

代码缺一行:

。。。

authorTextArea.setPreferredSize(new Dimension(40, 80));

authorFrame.add(authorTextArea);

。。。

以上完了后,需要加一个

authorFrame.setVisible(true);

至于这个框的大小,你再调调哈,相互学习~,三年没做过了~

如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口?

JButton btn=new JButton(new AbstractAction("关闭并打开") {      @Override   public void actionPerformed(ActionEvent e) {      oldFrame.dispose();// 关闭并销毁,无需销毁可采用oldFrame.setVisible(false);      newFrame.setVisible(true);// 打开新窗口   }});

import javax.swing.*;

import java.awt.Rectangle;

import java.awt.event.*;

public class Swing7 extends JFrame implements ActionListener {

JButton jb = new JButton();

public Swing7() {

this.setTitle("Java——");

jb.setText("确定");

jb.setMnemonic('a');

this.add(jb);

this.setBounds(200, 300, 250, 300);

ctionListener就是Swing7实例。

}

public void actionPerformed(ActionEvent e) {// 实现ActionListener接口的actionPerformed接口。

JFrame frame = new JFrame("新窗口");//构造一个新的JFrame,作为新窗口。

frame.setBounds(// 让新窗口与Swing7窗口示例错开50像素。

new Rectangle(

(int) this.getBounds().getX() + 50,

(int) this.getBounds().getY() + 50,

(int) this.getBounds().getWidth(),

(int) this.getBounds().getHeight()

)

);

JLabel jl = new JLabel();// 注意类名别写错了。

frame.getContentPane().add(jl);

jl.setText("这是新窗口");

jl.setVerticalAlignment(JLabel.CENTER);

jl.setHorizontalAlignment(JLabel.CENTER);// 注意方法名别写错了。

frame.setVisible(true);

}

public static void main(String args[]) {

Swing7 s = new Swing7();

}

}

java程序点击弹出窗口

帮你改了一下,主要是将Frame12 窗体弹出来后,将Frame11 窗体设置setEnabled(false);向Frame12窗体添加一个窗口监听事件,当其关闭时将Frame11窗体设置setEnabled(true);

Frame11的对象通过Frame12类的构造方法来传递。

import java.awt.event.*;

import javax.swing.*;

public class Frame11 extends JFrame implements ActionListener{

private JMenuBar jmb;

private JPanel pan;

private JTextField t1;

private JButton button1;

private JLabel lab1;

Frame12 frame12;

Frame11(){

super("信息修改");

this.setBounds(250, 100, 750,500);

pan=new JPanel();

lab1=new JLabel("请输入班级:");

t1=new JTextField(16);

button1=new JButton("查询");

button1.addActionListener((ActionListener) this);

jmb = new JMenuBar();

JMenu jm1 = new JMenu("修改信息");

pan.setLayout(null);

lab1.setBounds(10,10,70,25);

t1.setBounds(85,10,200,25);

button1.setBounds(320,10,60,25);

jmb.add(jm1);

pan.add(button1);

pan.add(lab1);

pan.add(t1);

this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。

//如果锁定了窗口,那么最大化窗口的按钮将被自动禁用

validate(); this.setContentPane(pan);

this.setVisible(true);

setJMenuBar(jmb);

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button1){

frame12=new Frame12(this);

this.setFocusable(false);

setEnabled(false);

}

}

public static void main(String[] args) {

new Frame11();

}

}

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.*;

public class Frame12 extends JFrame{

/**

*

*/

private static final long serialVersionUID = -3490142483418228449L;

private JMenuBar jmb;

private JPanel pan;

private JButton button1;

private JLabel lab1;

private JPasswordField tfPass;

Frame12(final Frame11 frame11){

super("修改密码");

this.setBounds(550, 250, 290,150);

pan=new JPanel();

lab1=new JLabel("请重新输入密码:");

tfPass = new JPasswordField(20);

button1=new JButton("确认");

jmb = new JMenuBar();

JMenu jm1 = new JMenu("用户密码修改");

pan.setLayout(null);

lab1.setBounds(10,10,100,25);

tfPass.setBounds(110,10,150,25);

button1.setBounds(200,45,60,25);

jmb.add(jm1);

pan.add(button1);

pan.add(lab1);

pan.add(tfPass);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e) {

frame11.setEnabled(true);

}

});

this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。

//如果锁定了窗口,那么最大化窗口的按钮将被自动禁用

validate();

this.setContentPane(pan);

this.setVisible(true);

setJMenuBar(jmb);

}

}

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点击按钮关闭窗口、java点击窗口的信息别忘了在本站进行查找喔。

The End

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