重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先,绘制一个默认的窗体,创建好工程,包,类,命名类为Window.很简单,在类中添加一个私有属性JFrame,这么写:private JFrame f = new JFrame("欢迎来到本自助银行");Window的构造方法中,只写 f.setVisible(true);以及窗体的初始位置和初始大小:f.setLocation(300, 200);f.setSize(800, 500);
成都创新互联专注于中大型企业的网站设计、成都做网站和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户近1000家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注品牌网站制作和互联网程序开发,在前进的路上,与客户一起成长!
然后在同一个构造函数中跟进一行f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);此为设置关闭图标即退出程序紧接着,写f.setResizable(false);此为设置不可更改窗体大小。如图,的确没办法更改了。
最后,便是画龙点睛的一笔,给窗体添加一个图标,显得更专业了一些:f.setIconImage(Toolkit.getDefaultToolkit().createImage("E:\\a.jpg"));
这里有一点比较重要,重申一句。构造器中的设置比静态属性初始化设置更有直接影响力。而且,程序是执行向上覆盖的。也就是说,如果之后有过更改,那么更改之后就显示更改后的结果,比如,在这个构造函数中再写f.setTitle("好好活着");那么,请注意窗体的文字。如图:
package window;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Window extends JFrame{
public static int num = 0;
public static void main(String[] args) {
new Window();
}
public Window(){
//设置x y坐标
this.setLocation(400, 500);
//设置窗口大小
this.setSize(512, 512);
//设置窗口可见
this.setVisible(true);
//设置窗口关闭后程序停止
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口不可移动
this.setResizable(false);
JButton but1 = new JButton("按钮");
final JTextField text1 = new JTextField(10);
import javax.swing.*;\x0d\x0aimport java.awt.*;\x0d\x0aimport java.awt.event.*;\x0d\x0apublic class Test3 extends JFrame implements ActionListener{\x0d\x0a JMenu m;\x0d\x0a JMenuItem mi1,mi2;\x0d\x0a JMenuBar mb;\x0d\x0a \x0d\x0a public Test3(){\x0d\x0a m = new JMenu("学生查询");\x0d\x0a mi1 = new JMenuItem("确认");\x0d\x0a mi2 = new JMenuItem("取消");\x0d\x0a mb = new JMenuBar();\x0d\x0a m.add(mi1);\x0d\x0a m.add(mi2);\x0d\x0a mb.add(m);\x0d\x0a this.setJMenuBar(mb);\x0d\x0a this.setSize(400,300);\x0d\x0a this.setLocationRelativeTo(null);//窗口居中\x0d\x0a this.setVisible(true);\x0d\x0a this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\x0d\x0a mi1.addActionListener(this);\x0d\x0a mi2.addActionListener(this);\x0d\x0a }\x0d\x0a public static void main(String[] args){\x0d\x0a new Test3();\x0d\x0a \x0d\x0a }\x0d\x0a public void actionPerformed(ActionEvent ae){\x0d\x0a if(ae.getSource()==mi1){\x0d\x0a JOptionPane.showMessageDialog(null, "你点击了确定按钮"); }else{\x0d\x0a JOptionPane.showMessageDialog(null, "你点击了取消按钮"); }\x0d\x0a }\x0d\x0a \x0d\x0a}
不知道是不是你说的窗口
使用javaswing JFrame设计窗口 + 布局就可实现,,如下例(添加了详细注释):
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class JFrameTest extends JFrame implements ActionListener {
private static final long serialVersionUID = -2829899643559384548L;
private JButton b1 = null;//按钮
private JTextArea jta = null;//文本
public JFrameTest() {
Container c = this.getContentPane();
c.setLayout(new BorderLayout());//设置布局方式,BorderLayout东西南北中布局
b1 = new JButton("点击");
b1.addActionListener(this);//为按钮添加监听
c.add(b1, BorderLayout.SOUTH);//添加按钮到c容器中,并分配在容器南(下)方
jta = new JTextArea();
c.add(jta, BorderLayout.CENTER);//添加文本区到c容器中,并分配在居中位置
this.setTitle("按钮事件");//设置窗口标题
this.setSize(300, 300);//设置窗体大小
this.setVisible(true);//窗体设置为显示
// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗体
//常用的一种关闭窗体的方法
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
//使用判断按钮名称的方法触发事件
if("点击".equals(e.getActionCommand())) {
jta.setText("按钮被点击了!");
}
//也可以获取对象名实现判断
// if(e.getSource() == b1) {
// jta.setText("按钮使用getSource方法被点击了!");
// }
}
public static void main(String[] args) {
new JFrameTest();
}
}
新建一个窗口,然后实现一个关闭按钮”窗口的功能
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);
}
} );
}
}