组建及事件处理 例题1

窗口 JFrame常用方法

import javax.swing.*;
import java.awt.*;
public class exam {
	public static void main(String[] args) {
	   JFrame window1=new JFrame();
	   JFrame window2=new JFrame();
	   Container container =window1.getContentPane();
       container.setBackground(Color.yellow);  //设置窗口的背景色
       window1.setBounds(60,100,188,108);  //设置窗口在屏幕上的位置及大小
       window2.setBounds(260,100,188,108);
       window1.setVisible(true);
       window1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //释放当前窗口
       window2.setVisible(true);
       window2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //退出程序

	}

}

菜单条,菜单,菜单项

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
public class WindowMenu extends JFrame {  //JFrame的子类
	JMenuBar menuBar;
	JMenu menu,subMenu;
	JMenuItem item1,item2;
	public WindowMenu(){}
	public WindowMenu(String s,int x,int y,int w,int h) {
		init(s);
		setLocation(x,y);
		setSize(w,h);
		setVisible(true);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
	}
         void init(String s){
        	 setTitle(s);
        	 menuBar=new JMenuBar();
        	 menu=new JMenu("菜单");
        	 subMenu=new JMenu("软件项目");
        	 item1=new JMenuItem("Java话题",new ImageIcon("a.gif"));
        	 item2=new JMenuItem("动画话题",new ImageIcon("b.gif"));
        	 item1.setAccelerator(KeyStroke.getKeyStroke('A'));
        	 item2.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK));
        	 menu.add(item1);
        	 menu.addSeparator();
        	 menu.add(item2);
        	 menu.add(subMenu);
        	 subMenu.add(new JMenuItem("汽车销售系统",new ImageIcon("c.gif")));
        	 subMenu.add(new JMenuItem("农场信息系统",new ImageIcon("d.gif")));
        	 menuBar.add(menu);
        	 setJMenuBar(menuBar);
         }
}
public class exam {
	public static void main(String[] args) {
          WindowMenu windowMenu=new WindowMenu("带菜单的窗口",20,30,200,190);

	}

}



常用组件与布局

import java.awt.*;
import javax.swing.*;

public class ComponentInWindow extends JFrame {
       JCheckBox checkBox1,checkBox2;  //复选框
       JRadioButton radioM,radioF;  //单选框
       ButtonGroup group;
       JComboBox comBox; //下拉列表
       public ComponentInWindow(){
    	   init();
    	   setVisible(true);
    	   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }
       void init(){
    	   setLayout(new FlowLayout());
    	   comBox=new JComboBox();
    	   checkBox1=new JCheckBox("喜欢音乐");
    	   checkBox2=new JCheckBox("喜欢旅游");
    	   group=new ButtonGroup();
    	   radioM=new JRadioButton("男");
    	   radioF=new JRadioButton("女");
    	   group.add(radioM);
    	   group.add(radioF);  //归组才能实现单选
    	   add(checkBox1);
    	   add(checkBox2);
    	   add(radioM);
    	   add(radioF);
    	   comBox.addItem("音乐天地");
    	   comBox.addItem("武术天地");
    	   add(comBox);
    	   
       }
}
public class exam {

	public static void main(String[] args) {
		ComponentInWindow window=new ComponentInWindow();
		window.setBounds(100,100,450,260);
		window.setTitle("常用的插件");

	}

}

常用容器

public class exam {
	public static void main(String[] args) {
		new ShowLayout();
	}

}
import java.awt.*;
import javax.swing.*;
public class ShowLayout extends JFrame {
        PanelGridLayout pannelGrid;  //网格布局的版面
        PanelNullLayout panelNull;   //空布局的版面
        JTabbedPane p;
        public ShowLayout() {
			pannelGrid = new PanelGridLayout();
			panelNull  = new PanelNullLayout();
			p=new JTabbedPane();
			p.add("网格布局的面板",pannelGrid);
			p.add("空布局的面板",panelNull);
			add(p,BorderLayout.CENTER);
			add(new JButton("窗体是BorderLayout布局"),BorderLayout.NORTH);
			add(new JButton("南"),BorderLayout.SOUTH);
			add(new JButton("西"),BorderLayout.WEST);
			add(new JButton("东"),BorderLayout.EAST);
			setBounds(10,10,570,390);
			setVisible(true);
			setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
			validate();
		}
}
import java.awt.*;

import javax.swing.*;
public class PanelGridLayout extends JPanel {
          public PanelGridLayout() {
		   GridLayout grid=new GridLayout(12,12);  //网格布局
		   setLayout(grid);
		   Label label[][]=new Label[12][12];
		   for(int i=0;i<12;i++){
			   for(int j=0;j<12;j++){
				   label[i][j]=new Label();
				   if((i+j)%2==0)
					   label[i][j].setBackground(Color.black);
				   else 
					   label[i][j].setBackground(Color.white);
				   add(label[i][j]);
			   }
		   }
		}
}
import javax.swing.*;
public class PanelNullLayout extends JPanel {
       JButton button;
       JTextField text;
       public PanelNullLayout() {
		  setLayout(null);  //空布局
		  button = new JButton("确定");
		  text=new JTextField();
		  add(text);
		  add(button);
		  text.setBounds(100,30,90,30);
		  button.setBounds(190,30,66,30);
	}
}


public class exam {
	public static void main(String[] args) {
		WindowBoxLayout win=new WindowBoxLayout();
		win.setBounds(100,100,310,260);
		win.setTitle("嵌套盒式布局容器");
	}

}
import javax.swing.*;
public class WindowBoxLayout extends JFrame {
     Box boxH;  //行式盒
     Box boxVOne,boxVTwo;  //列式盒
     public WindowBoxLayout(){
    	 setLayout(new java.awt.FlowLayout());
    	 init();
    	 setVisible(true);
    	 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
     }
     void init(){
    	 boxH=Box.createHorizontalBox();
    	 boxVOne=Box.createVerticalBox();
    	 boxVTwo=Box.createVerticalBox();
    	 boxVOne.add(new JLabel("姓名:"));
    	 boxVOne.add(new JLabel("职业:"));
    	 boxVTwo.add(new JTextField(10));
    	 boxVTwo.add(new JTextField(10));
    	 boxH.add(boxVOne);
    	 boxH.add(Box.createHorizontalStrut(10));
    	 boxH.add(boxVTwo);
    	 add(boxH);
     }
}







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值