用java做一个窗口

用java做一个窗口,第1张

java做窗口的话,需要用swing技术,之后创建JFrame 等组件,即可完成窗口创建工作。

package interframe;import javaawtBorderLayout;

import javaawteventActionEvent;

import javaawteventActionListener;import javaxswingJFrame;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJOptionPane;public class MenuTest { /

@param args

/

JFrame frame; //定义一个窗口架构

JMenuBar mb;//定义窗口的菜单工具栏

JMenu m; //定义菜单

JMenuItem mi1;//定义菜单的内容

JMenuItem mi2; //定义菜单的内容

public MenuTest() {

initFrame();

initAction();

}

public void initFrame() {

frame = new JFrame();

mb = new JMenuBar();

m = new JMenu("学生查询");

mi1 = new JMenuItem("确认");

mi2 = new JMenuItem("取消"); madd(mi1);

madd(mi2);

mbadd(m);

frameadd(mb, BorderLayoutNORTH);

framesetSize(300, 300); //设置窗口大小

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);//设置退出时关闭窗口

framesetVisible(true);//设置窗口可见

} public void initAction() {

mi1addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

// 具体实现代码根据实际要求填写

Systemoutprintln("click");

JOptionPaneshowMessageDialog(null, "你点击了确定按钮");

}

});

mi2addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

// 具体实现代码根据实际要求填写

JOptionPaneshowMessageDialog(null, "你点击了取消按钮");

}

});

} public static void main(String[] args) {

new MenuTest();//执行菜单创建

}}

这样:

import javaawt;  

import javaawtevent;  

import javaxswing;    

import javaawtGraphics;    

public class MainClass extends JFrame {  

    public JComboBox box;  

    int flag = 0;  

    jpNewPanel jpNewPanel;   

    public static void main(String[] args) {  

    MainClass frame = new MainClass();  

    framesetBounds(650,300,550,550);

        framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

        framesetTitle("信号灯"); 

        framesetVisible(true);  

    }    

    public MainClass() {  

        box = new JComboBox();  

        boxaddItem("请选择");  

        boxaddItem("红灯");  

        boxaddActionListener(new ActionListener() {  

            public void actionPerformed(ActionEvent e) {  

                flag = boxgetSelectedIndex(); 

                jpNewPanelrepaint();  

            }  

        });  

        boxaddItem("黄灯");  

        boxaddActionListener(new ActionListener() {  

            public void actionPerformed(ActionEvent e) {  

                flag = boxgetSelectedIndex();

                jpNewPanelrepaint();  

            }  

        });  

        boxaddItem("绿灯");  

        boxaddActionListener(new ActionListener() {  

            public void actionPerformed(ActionEvent e) {  

                flag = boxgetSelectedIndex();  

                jpNewPanelrepaint();  

            }  

        });  

        add(box, BorderLayoutNORTH);  

        jpNewPanel = new jpNewPanel();  

        add(jpNewPanel, BorderLayoutCENTER);  

    }  

    class jpNewPanel extends JPanel {  

        protected void paintComponent(Graphics g) {  

            superpaintComponent(g);  

            gdrawOval(150, 0, 120, 120);  

            if (flag == 1) {  

                gsetColor(ColorRED);  

                gfillOval(150, 0, 120, 120);  

            } else if (flag == 2) {  

                gsetColor(ColorYELLOW);  

                gfillOval(150, 0, 120, 120);  

            } else if (flag == 3) {  

                gsetColor(ColorGREEN);  

                gfillOval(150, 0, 120, 120);  

            }  

        }  

    }  

扩展资料:

注意事项

每个Road对象都有一个name成员变量来代表方向,有一个vehicles成员变量来代表方向上的车辆集合。

在Road对象的构造方法中启动一个线程每隔一个随机的时间向vehicles集合中增加一辆车(用一个“路线名_id”形式的字符串进行表示)。

在Road对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。

定义一个按钮的OnClick事件

里面用写方法调用弹出窗口

代码

import javaawt;

import javaxswing;

import javaawtRectangle;

import javaawteventActionListener;

import javaawteventActionEvent;

public class Frame1 extends JFrame

{

private JButton jButton1=new JButton();

public Frame1 ()

{

try {

jbInit();

}

catch(Exception exception) {

exceptionprintStackTrace();

}

thissetVisible(true);

}

private void jbInit () throws Exception

{

thissetBounds(300,180,400,300);

getContentPane()setLayout(null);

jButton1setBounds(new Rectangle(127, 120, 139, 36));

jButton1setMnemonic('C');

jButton1setText("点我(C)");

jButton1addActionListener(new ActionListener()

{

public void actionPerformed (ActionEvent e)

{

jButton1_actionPerformed(e);

}

});

thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

thisgetContentPane()add(jButton1);

}

public static void main (String[] args)

{

Frame1 frame1=new Frame1();

}

public void jButton1_actionPerformed (ActionEvent e)

{

thissetVisible(false);

JFrame jf1=new JFrame("子窗口");

jf1setBounds(100,50,800,600);

jf1setDefaultCloseOperation(jf1EXIT_ON_CLOSE);

jf1setVisible(true);

}

}

package interframe;import javaawtBorderLayout;

import javaawteventActionEvent;

import javaawteventActionListener;import javaxswingJFrame;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJOptionPane;public class MenuTest { /

@param args

/

JFrame frame;

JMenuBar mb;

JMenu m;

JMenuItem mi1;

JMenuItem mi2; public MenuTest() {

initFrame();

initAction();

} public void initFrame() {

frame = new JFrame();

mb = new JMenuBar();

m = new JMenu("学生查询");

mi1 = new JMenuItem("确认");

mi2 = new JMenuItem("取消"); madd(mi1);

madd(mi2);

mbadd(m);

frameadd(mb, BorderLayoutNORTH);

framesetSize(300, 300);

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

framesetVisible(true);

} public void initAction() {

mi1addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

Systemoutprintln("click");

JOptionPaneshowMessageDialog(null, "你点击了确定按钮");

}

});

mi2addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

JOptionPaneshowMessageDialog(null, "你点击了取消按钮");

}

});

} public static void main(String[] args) {

// TODO Auto-generated method stub

new MenuTest();

}}

import javaawtBorderLayout;

import javaawtToolkit;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJPanel;

import javaxswingJTextField;

public class MyFrame extends JFrame {

private JLabel lab_name;

private JLabel lab_number;

private JLabel lab_amount;

private JTextField jtf_name;

private JTextField jtf_number;

private JTextField jtf_amount;

private JButton but_1;

private JButton but_2;

private JButton but_3;

public MyFrame(){

setSize(245, 260);

setTitle("JLabel Demo");

Toolkit tk = ToolkitgetDefaultToolkit();

setLocation((tkgetScreenSize()height - thisHEIGHT)/2,

(tkgetScreenSize()width - thisWIDTH)/2);

thissetLayout(null);

lab_name = new JLabel("姓名");

lab_number = new JLabel("学号");

lab_amount = new JLabel("金额");

jtf_name = new JTextField(13);

jtf_number = new JTextField(13);

jtf_amount = new JTextField(13);

JPanel jp_top = new JPanel();

jp_topsetBounds(0, 20, 245, 100);

jp_topsetLayout(new BorderLayout());

JPanel jp_top_name = new JPanel();

JPanel jp_top_number = new JPanel();

JPanel jp_top_amount = new JPanel();

jp_top_nameadd(lab_name);

jp_top_nameadd(jtf_name);

jp_top_numberadd(lab_number);

jp_top_numberadd(jtf_number);

jp_top_amountadd(lab_amount);

jp_top_amountadd(jtf_amount);

jp_topadd(jp_top_name,BorderLayoutNORTH);

jp_topadd(jp_top_number,BorderLayoutCENTER);

jp_topadd(jp_top_amount,BorderLayoutSOUTH);

JPanel jp_bottom = new JPanel();

jp_bottomsetBounds(0,150, 245, 90);

but_1 = new JButton("提交");

but_2 = new JButton("取消");

but_3 = new JButton("重写");

jp_bottomadd(but_1);

jp_bottomadd(but_2);

jp_bottomadd(but_3);

thisadd(jp_top,BorderLayoutNORTH);

thisadd(jp_bottom,BorderLayoutCENTER);

setVisible(true);

setResizable(false);

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MyFrame();

}

}

LZ看下合适不。。。按钮想要美化的话 到网上再搜下。。。美化我不在行。。。

原料/工具:

电脑一台

Eclipse

1双击电脑桌面上的Eclipse图标,打开eclipse,显示如下界面:

2选择菜单栏的file,选择New,再点击New子栏下的Project选项;在弹出的窗口中选择“java——>java project";

3在”Project name“后的空白栏中填写工程名,一般工程名为小写字母开头;

4在eclipse页面左边可以看见工程列表,将鼠标移至工程名,右击鼠标,选择new——>package建包;在弹出的窗口中,在"Name"栏填写包名,点击finish按钮完成建包;

5展开工程名,右击选中的包,选择”New——>Class",建立类,在新弹出的窗口中,在“Name”栏填写类名,如果这个类包含main方法,应该将下面的

public static void main(String[] args)勾选上;

6以上步骤全部完成后,就可以开始编写程序了。

首先,绘制一个默认的窗体,创建好工程,包,类,命名类为Window很简单,在类中添加一个私有属性JFrame,这么写:private JFrame f = new JFrame("欢迎来到本自助银行");Window的构造方法中,只写 fsetVisible(true);以及窗体的初始位置和初始大小:fsetLocation(300, 200);fsetSize(800, 500);

然后在同一个构造函数中跟进一行fsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);此为设置关闭图标即退出程序紧接着,写fsetResizable(false);此为设置不可更改窗体大小。如图,的确没办法更改了。

最后,便是画龙点睛的一笔,给窗体添加一个图标,显得更专业了一些:fsetIconImage(ToolkitgetDefaultToolkit()createImage("E:\\ajpg"));

这里有一点比较重要,重申一句。构造器中的设置比静态属性初始化设置更有直接影响力。而且,程序是执行向上覆盖的。也就是说,如果之后有过更改,那么更改之后就显示更改后的结果,比如,在这个构造函数中再写fsetTitle("好好活着");那么,请注意窗体的文字。如图:

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4168708.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存