常规菜单:
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);
}
}