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("好好活着");那么,请注意窗体的文字。如图:
欢迎分享,转载请注明来源:表白网
评论列表(0条)