图形界面练手

package com.GUI;

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

 class ComponentInwindow extends JFrame{
	JCheckBox checkBox1, checkBox2;  //复选框
	JRadioButton radioM,radioF;   //单选框
	ButtonGroup group;
	JComboBox<String> comBox;  //下拉列表
	public ComponentInwindow() {
		init();
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	void init() {
		setLayout(new FlowLayout());
		comBox=new JComboBox<String>();
		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 ComponentWin{
	 public static void main(String args[]) {
			ComponentInwindow  win=new ComponentInwindow ();
			win.setBounds(100,100,450,260);
			win.setTitle("常用组件");
		}
 }


在这里插入图片描述

package com.GUI;

import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
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("软件项目"); //做为子菜单添加到menu中
		item1=new JMenuItem("Java话题",new ImageIcon(""));//添加图标
		item2=new JMenuItem("动画话题",new ImageIcon(""));
		item1.setAccelerator(KeyStroke.getKeyStroke('A'));  //设置快捷键
		item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_DOWN_MASK));
		menu.add(item1);
		menu.addSeparator();//添加横线分割符号
		menu.add(item2);
		menu.add(subMenu);
		subMenu.add(new JMenuItem("汽车销售系统 ",new ImageIcon("")));
		subMenu.add(new JMenuItem("农场信息系统 ",new ImageIcon("")));
		menubar.add(menu);
		setJMenuBar(menubar);

	}
}

public class Menu{
	public static void main(String args[]) {
		WindowMenu win=new WindowMenu("带菜单的窗口",20,30,800,800);
	}
}

在这里插入图片描述

package com.GUI;

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

class PanelGridLayout extends JPanel{
	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]); 
	         }
	       }
	}
}


class PanelNullLayout extends JPanel {
	   JButton button;
	   JTextField text;
	   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);
	   }

	}

   class  JshowLayout extends JFrame {
    PanelGridLayout pannelGrid; //网格布局的面板
    PanelNullLayout panelNull ; //空布局的面板
    JTabbedPane p;              //选项卡窗格
       JshowLayout() {
       setTitle("布局练习");
       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();
   }
   
}

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



在这里插入图片描述

package com.GUI;

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);       
    }
    
    public static void main(String args[]) {
        WindowBoxLayout win=new WindowBoxLayout();
        win.setBounds(100,100,310,260);
        win.setTitle("嵌套盒式布局容器");
     }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值