import
java.awt.
*
;
import
java.awt.event.
*
;
import
javax.swing.
*
;
class
TestGUI
{
public
static
void
main(String[] args)
{
frame f
=
new
frame();
//
还可以在这里加上一句
①f.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
f.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
f.setVisible(
true
);
f.addWindowListener(
new
WindowAdapter()
{
public
void
windowClosing(WindowEvent e)
{
int
i;
i
=
JOptionPane.showConfirmDialog(
null
,
"
are you ok
"
);
if
(i
==
JOptionPane.YES_OPTION)
{
System.exit(
0
););
//
或者还可以写成
this
.dispose();
//
这两句都可以实现关闭窗口
}
else
{
}
}
});
}
}
class
panel
extends
JPanel
{
public
panel()
{
makeButton(
"
red
"
,Color.RED);
makeButton(
"
yellow
"
,Color.yellow);
}
private
void
makeButton(String name,
final
Color c)
{
Button button
=
new
Button(name);
button.addActionListener(
new
ActionListener()
{
public
void
actionPerformed(ActionEvent event)
{
setBackground(c);
}
}
);
add(button);
}
}
class
frame
extends
JFrame
{
public
frame()
{
setTitle(
"
test
"
);
setSize(
300
,
200
);
panel p
=
new
panel();
add(p);
}
}
①:这句话在JCreator中可以实现,这个代码,点是的时候可以退出,但是点否的时候,程序没有退出,进程没有终
止,只是把界面设为了隐藏.所以当点否的时候程序并没有结束,加上这句代码就可以实现当点"否"的时候程序不
隐藏的效果,大家可以自己测试一下!!