完整代码完全是按你要求写的。\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[推荐]: 放弃使用绝对布局, 才用边界布局, 表格布局,流式布局等
评论列表(0条)