JAVA如何通过按钮来实现界面的切换?

JAVA如何通过按钮来实现界面的切换?,第1张

完整代码完全是按你要求写的。\x0d\x0aimport java.awt.Container\x0d\x0aimport java.awt.event.ActionEvent\x0d\x0aimport java.awt.event.ActionListener\x0d\x0aimport javax.swing.JButton\x0d\x0aimport javax.swing.JFrame\x0d\x0aimport javax.swing.JLabel\x0d\x0aimport javax.swing.JPanel\x0d\x0apublic class TESTswing extends JPanel implements ActionListener{\x0d\x0a \x0d\x0a JPanel p1 = new JPanel()\x0d\x0a JPanel p2 = new JPanel()\x0d\x0a JPanel p3 = new JPanel()\x0d\x0a JButton btn1 = new JButton("Button1")\x0d\x0a JButton btn2 = new JButton("Button2")\x0d\x0a public TESTswing()\x0d\x0a {\x0d\x0a p1.add(btn1)\x0d\x0a p1.add(btn2)\x0d\x0a p2.add(new JLabel("I’m is p2"))\x0d\x0a p3.add(new JLabel("I’m is p3"))\x0d\x0a \x0d\x0a p2.setVisible(false)\x0d\x0a p3.setVisible(false)\x0d\x0a this.add(p1)\x0d\x0a this.add(p2)\x0d\x0a this.add(p3)\x0d\x0a btn1.addActionListener(this)\x0d\x0a btn2.addActionListener(this)\x0d\x0a }\x0d\x0a public static void main(String[] args) {\x0d\x0a \x0d\x0a JFrame frame = new JFrame()\x0d\x0a frame.setSize(200, 200)\x0d\x0a \x0d\x0a Container contentPane = frame.getContentPane()\x0d\x0a contentPane.add(new TESTswing())\x0d\x0a frame.show()\x0d\x0a }\x0d\x0a public void actionPerformed(ActionEvent e) {\x0d\x0a // TODO Auto-generated method stub\x0d\x0a String cmd = e.getActionCommand()\x0d\x0a \x0d\x0a if (cmd.equals("Button1"))\x0d\x0a {\x0d\x0a \x0d\x0a p2.setVisible(true)\x0d\x0a p3.setVisible(false)\x0d\x0a \x0d\x0a }\x0d\x0a else\x0d\x0a { \x0d\x0a p2.setVisible(false)\x0d\x0a p3.setVisible(true)\x0d\x0a }\x0d\x0a }

新建一个窗口,然后实现一个关闭按钮”窗口的功能

import java.awt.*

import java.awt.event.*

public class TestWindowEvent {

    public static void main (String[] args) {

        new Frame88 ("WindowAdapter")

    }

}

class Frame88 extends Frame {

   Frame88 (String s) {

      super(s)

      setBounds (300,300,200,70)

      setLayout (null)

      setVisible (true)

      addWindowListener (new WindowAdapter() {

          public void windowClosing(WindowEvent e) {

              setVisible (false)

              System.exit(0)

          }

      }  )

    } 

}

原因:  如果是绝对布局setLayout(null) ,那么容易出现这种问题 ,各种硬件, 各种 *** 作系统,各种版本 ,显示的效果不完全一致.

解决办法:

方法1:         把窗口的大小设置增加一点 setSize(宽,高)

方法2:         把按钮的大小设置下

方法3[推荐]: 放弃使用绝对布局, 才用边界布局, 表格布局,流式布局等


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8111052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存