「java点击窗口」java点击按钮关闭窗口
今天给各位分享java点击窗口的知识,其中也会对java点击按钮关闭窗口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java点击按钮,出现另一个窗口
- 2、JAVA怎么实现点击按钮关闭窗口
- 3、java点击菜单项弹出窗口怎么弄
- 4、如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口?
- 5、java程序点击弹出窗口
- 6、java中如何从一个窗口通过点击按钮进入另外一个窗口? (两个窗口不在一个class中。)
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点击窗口的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。