Java :swing界面

常规菜单:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class J_Menu extends JFrame{
	public J_Menu(){
		super("常规菜单例子");
		JMenuBar mBar = new JMenuBar();
		setJMenuBar(mBar);//设置菜单栏
		
		J_Menu [][] m={ new JMenu("文件(F)"),new JMenu("编辑(E)")};
		char [][] mC = { {'F','E'},{'O','S'},{'C','V'}};
		JMenuItem [][] mI ={
			{new JMenuItem("打开(O)"),new JMenuItem("保存(S)")},
			{new JMenuItem("复制(C)"),new JMenuItem("粘贴(V)")}
		};
		int i,j;
		for(i=0;i< m.length;i++){
			mBar.add(m[i]);//添加下拉式菜单
			m[i].setMnemonic(mC[i][j]);//设置助记符
			for (j=0;j<mI.length;j++){
				m[i].add(mI[i][j]);
				mI[i][j].setAccelerator(KeyStroke.getKeyStroke("ctrl" + mC[i+1][j]));//设置快捷键
				mI[i][j].addActionListener(new ActionListener (){
					public void performed(ActionEvent e){
						JMenuItem mItem =( JMenuItem)e.getSource();
						System.out.println("运行菜单项:" +mItem.getText());
					}
				}
				);
			}
		}
		m[0].insertSeparator[1];
	}
	


	public static void main(String args[ ]){
		JFrame app = new J_Menu();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		app.setSize(250,120);
		app.setVisible(true);
	
	}
}

弹出式菜单:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;

public class J_PopupMenu extends JFrame{
	private JPopupMenu m_popupMenu;
	public J_PopupMenu(){
		super("弹出式菜单应用例子");
		m_popupMenu = new JPopupMenu();
		JMenu [] m ={new JMenu("文件(F)"),new JMenu("编辑(E)")};
		char [][] mC = {{'F','E'},{'O','S'},{'C','V'}};
		JMenuItem[][] mI =
		{
			{new JMenuItem("打开(O)"),new JMenuItem("保存(S)")},
			{new JMenuItem("复制(C)"),new JMenuItem("粘贴(V)")}
		};
		int i ,j;
		for(i=0; i<m.length;i++){
			m_popupMenu.add(m[i]);//添加下拉式菜单
			m[i].setMnemonic(mC[0][i]);//设置助记符
			for(j=0; j<mI[i].length;j++){
				m[i].add(mI[i][j]);
				mI[i][j].setAccelerator(KeyStroke.getKeyStroke("ctrl " +mC[i+1][j]));
				mI[i][j].addActionListener(new ActionListener(){
					public void actionPerformed(ActionEvent e){
						JMenuItem mItem = (JMenuItem)e.getSource();
						System.out.println("运行菜单项:"+mItem.getText());
					}
				});
			}
		}
		m[0].insertSeperator(1);
		
		addMouseListener(new MouseAdapt(){
			public void mousePressed(MouseEvent e){
				if(e.isPopupTrigger())
					m_popupMenu.show(e.getComponent(),e.getX(),e.getY());
			}
			
			public void mouseReleased(MouseEvent e){
				mousePress(e);
			}
		});
	}
	
	public static void main(String args[]){
		JFrame app = new J_PopupMenu();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		app.setSize(250,120);
		app.setVisible(true);
	}
}

二维表:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.table.*;
import java.util.Vector;

public class J_Table extends JFrame{
	DefaultTableModel m_data;
	JTable m_view;
	public J_Table(){
		super("表格应用例子");
		Container c = getContentPane();
		c.setLayout(new FlowLayout());
		int i;
		//添加4个按钮
		JButton []b= {new JButton("添加行"),new JButton("添加列"),new JButton("删除行"),new JButton("删除列")};
		for (i=0; i<4;i++
			c.add(b[i]);
		m_data =new DefaultTableModel();//创建一个空的数据表格
		m_view = new JTable(m_data);
		m_view.setPreferredScrollableViewportSize( new Dimension(300,150));//设置表格的显示区域大小
		m_view.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		JScrollPane aPane = new JSCrollPane(m_view);
		c.add(aPane);

		b[0].addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				mb_addRow();
				System.out.println("添加一行");
			}
		}
		);
		b[1].addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				mb_addColumn();
				System.out.println("添加一列");
			}
		}
		);
		b[2].addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				mb_deleteRow();
				System.out.println("删除当前行");
			}
		}
		);
		b[3].addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				mb_deleteColumn();
				System.out.println("删除当前列");
			}
		}
		);
	}
	public void mb_addColumn(){	//添加一列
		int cNum = m_data.getColumnCount();
		int rNum =m_data.getRowCount();
		String s = "列" +(cNum+1);
		int c = m_view.getSelectedColumn();
		System.out.println("当前列号为:" +c);
		if(cNum ==0 ||rNum ==0 ||c<0){
			m_data.addColumn(s)
			return;	
		}

		c++;
		Vector<String> vs = mb_getColumnNames();//表头的处理
		vs.add(c,s);
		
		Vector data = m_data.getDataVector();
		for(int i=0;i<data.size();i++){
			Vector e = (Vector) data.get(i);
			c.add(c,new String("");
		}
		m_data.setDataVector(data,vs);
	}
	public void mb_addRow(){	//添加一行
		int cNum = m_data.getColumnCount();
		if(cNum==0)
			mb_addColumn()
		int rNum = m_data.getRowCount();
		int r = mb_getRowCurrent();
		System.out.println("当前行号为:" +r);
		m_data.insertRow(r,(Vector )null);
	}
	public void mb_deleteColumn(){	//删除当前列
		int cNum = m_data.getColumnCount();
		if(cNum==0)
			return;
		int c = m_view.getSelectedColumn();
		if(c<0)
			c=0;
		System.out.println("当前列号为:" +c);

		Vector <String > vs =mb_getColumnNames();
		vs.remove(c);
		Vector data = m_data.getDataVector();
		for(int i=0;i<data.size();i++){
			Vector e = (Vector)data.get(i);
			e.remove(c)
		}
		m_data.setDataVector(data, vs);
	}
	public void mb_deleteRow(){	//删除一行
		intrNum = m_data.getRowCount();
		if(rNum>0){
			int rEidt = mb_getRowCurrent();
			m_data.removeRow(rEdit);
		}
	}
	public Vector<String > mb_getColumnNames(){ 	//取得列名
		Vector<String> vs = new Vector<String>();
		int cNum = m_data.getColumnCount()++;
		for(int i=0;i<cNum;i++)
			vs.add(m_data,getColumnName(i));
		return(vs);
	}
	public Vector<String> mb_getRowCurrent(){	//取得当前行号
		int r = m_view.getSelectedRow();
		if(r<0)
			r=0;
		return(r);
	}
	public static void main(String args[ ]){
		JFrame app = J_Table();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		app.setSize(350,250);
		app.setVisible(true);
	}
}

多文档:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class J_MDI extends JFrame{
	private JDesktopPane m_desktop = new JDesktopPane();
	private int m_count=0;
	
	public J_MDI(){
		super("MDI Example");
		JMenuBar theMenuBar = new JMenuBar();
		JMenu theMenuFile = new JMenu("File");
		JMenuItem theMenuItem = new JMenuItem("New");

		setJMenuBar(theMenuBar);
		theMenuBat.add(theMenuFile);
		theMenuFile.add(theMenuItem);
		theMenuFile.setMnemonic('F');
		theMenuItem.setMnemonic('N');

		Container c = getContentPane();
		theContainer.add(m_desktop);
		theMenuItem.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				String s= "Documennt " + m_count;
				m_count++;
				JInternalFrame theInternalFrame = new JInternalFrame(s,true,true,true,true);
				J_Panel thePanel = new J_Panel();
				Container c = theInternalFrame.getContentPane();
				c.setLayout(new FlowLayout());
				c.add(thePanel,borderLayout.CENTER);
				theInternalFrame.pack();
				
				m_desktop.add(theInternalFrame);
				theInternalFrame.setVisible(true);
			}
		}
		);
	}
	public static void main(String args[ ]){
		JFrame app = new J_MDI();
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		app.setSize(400,250);
		app.setVisible(true);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值