JFrame添加菜单栏用SetJMenuBar与add的区别是什么

sunrisefe 2011-05-09 02:42:22
往JFrame窗口中添加菜单栏时,用SetJMenuBar与add的区别是什么?
...全文
2626 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Codefans_Fan 2011-08-27
  • 打赏
  • 举报
回复
学习了 。。
huntor 2011-05-10
  • 打赏
  • 举报
回复
add \ setJMenuBar 两者的 z-order 也不一样。
Jeelon 2011-05-10
  • 打赏
  • 举报
回复
往JFrame窗口中添加菜单栏时只能用SetJMenuBar.
Inhibitory 2011-05-10
  • 打赏
  • 举报
回复 2
1. SetJMenuBar: JFrame已经为JMenuBar预留了一个位置,使用setJMenuBar,菜单栏的位置是固定的。
2. 使用add,可以任意的加到任何地方,位置不受限定。

使用1的方式因为是习惯,大家都这样做,所以就这样做了,但不是必须这样做,只是一种默以成规而已。
wxc123888 2011-05-10
  • 打赏
  • 举报
回复
本身add方法更加灵活,而且可以根据不同的布局layout进行布局,setJMenuBar则固定了其位置
小莫M 2011-05-09
  • 打赏
  • 举报
回复
以我拙见,用add根本无法再JFrame中添加菜单栏,一般都用setJMenuBar。
1:menuBar是JRootPane的一个可选组件,JRootPane还包括一个 glassPane 和一个 contentPane。JFrame上的组件一般都是添加到contentPane的。setJMenuBar的源码也反映了这一点:

public void setJMenuBar(JMenuBar menubar) {
getRootPane().setMenuBar(menubar);
}

@Deprecated
public void setMenuBar(JMenuBar menu){
if(menuBar != null && menuBar.getParent() == layeredPane)
layeredPane.remove(menuBar);
menuBar = menu;

if(menuBar != null)
layeredPane.add(menuBar, JLayeredPane.FRAME_CONTENT_LAYER);
}

(JLayeredPane 负责管理 menuBar 和 contentPane。)

2:JFrame中的add方法是继承了父类Container中的方法,为了能方便使用add方法,JFrame中重写了 addImpl等方法,主要是为了在必要时将其转发到 contentPane。看源码:

protected void addImpl(Component comp, Object constraints, int index)
{
if(isRootPaneCheckingEnabled()) {
getContentPane().add(comp, constraints, index);
}
else {
super.addImpl(comp, constraints, index);
}
}

public Container getContentPane() {
return getRootPane().getContentPane();
}

public Container getContentPane() { return contentPane; }

wenbodong 2011-05-09
  • 打赏
  • 举报
回复
自己add更灵活一些吧。比如下面一个例子,设置两行菜单,嘿嘿。

import javax.swing.*;
import java.awt.*;
public class TestMenuBar {
JFrame frame;
JMenuBar menuBar,menuBar2;
Container contentPane;
JPanel pan;
public TestMenuBar(){
frame=new JFrame();
menuBar=new JMenuBar();
String str[]={"文件","操作","帮助"};
for(int i=0;i<str.length;i++){
menuBar.add(new JMenu(str[i]));
}
String str2[]={"退出"};
menuBar2=new JMenuBar();
for(int i=0;i<str2.length;i++){
menuBar2.add(new JMenu(str2[i]));
}
//frame.setJMenuBar(menuBar);
contentPane=frame.getContentPane();
contentPane.setLayout(new GridBagLayout());
pan=new JPanel(){
public void paint(Graphics g){
g.setColor(Color.white);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
}
};
pan.setPreferredSize(new Dimension(400,400));
add(contentPane,pan,0,2,1,1);
add(contentPane,menuBar,0,0,1,0);
add(contentPane,menuBar2,0,1,1,0);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void add(Container main,Container child,int gridx,int gridy,double weightx,double weighty){
GridBagConstraints c=new GridBagConstraints();
c.gridx=gridx;
c.gridy=gridy;
c.weightx=weightx;
c.weighty=weighty;
c.fill=GridBagConstraints.BOTH;
main.add(child,c);
}
public static void main(String args[]){
new TestMenuBar();
}
}
图书管理系统数据库源代码 //创建工程及设计主界面 public class Main extends JFrame { private static final JDesktopPane { DESKTOP_PANE=new JDesktopPane(); //桌面窗体 } public static void main(String[] args) //入口方法 { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //设置系统界面外观 new BookLogin(); //登录窗口 } catch(Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame iframe) //添加子窗体的方法 { DESKTOP_PANE。add(iframe); //新增子窗体 } public Main() { super(); //设置"关闭"按钮处理事件 setDefaultCloseOperation(WindowConstants。EXIT_ON_CLOSE); //创建工具栏 Toolkit tool=Toolkit,getDefaultToolkit(); //获得屏幕大小 Dimension screenSize=tool.getScreenSize(); setSize(800,600); //设置窗体大小 setLocation((screenSize.width—getWidth())/2,(screenSize。height- getHeight())/2; //设置窗体位置 setTitle("图书管理系统"); //设置窗体标题 JMenuBar menuBar=createMenu(); //创建菜单栏 setJMenuBar(menuBar); //设置菜单栏 JToolBar toolBar=createToolBar(); //创建工具栏的方法 getContentPane(),add(toolBar,BorderLayout。NORTH); //设置工具栏 final JLable lable=new JLable(); //创建一个标签,用来显示图片 lable。setBounds(0,0,0,0); //设置窗体的大小和位置 lable。setIcon(null); //窗体背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter()) { public void componentResized(final ComponentEvent e) { Dimension size=e。getComponent().getSize(); //获得组建大小 lable。setSize(e.getComponent().getSize()); //设置标签大小 lable.setText("〈html>添加到桌面窗体 DESKTOP_PANE。add(lable,new Integer(Integer。MIN_VALUE)); getContentPane().add(DESKTOP_PANE); //将桌面窗体添加到主窗体中 } } private JToolBar createToolBar() //创建工具栏的方法 { JToolBar toolBar=new JToolBar(); //初始化工具栏 toolBar.setFloatable(false); //设置是否可以移动工具栏 toolBar.setBorder(new BevelBorder(BevelBorder。RAIZED)); //设置边框 //图书信息添加按钮 JButton bookAddButton=new JButton(MenuActions.BOOK_ADD); ImageIcon icon=new ImageIcon(Main.class.getResource("/bookAddtb.jpg")); //添加菜单栏图标 bookAddButton.setIcon(icon); //设置按钮图标 bookAddButton.setHideActionText(true); //显
public class ChatClient extends JFrame implements ActionListener{ String ip = "127.0.0.1";//连接到服务端的ip地址 int port = 8888;//连接到服务端的端口号 String userName = "匆匆过客";//用户名 int type = 0;//0表示未连接,1表示已连接 Image icon;//程序图标 JComboBox combobox;//选择发送消息的接受者 JTextArea messageShow;//客户端的信息显示 JScrollPane messageScrollPane;//信息显示的滚动条 JLabel express,sendToLabel,messageLabel ; JTextField clientMessage;//客户端消息的发送 JCheckBox checkbox;//悄悄话 JComboBox actionlist;//表情选择 JButton clientMessageButton;//发送消息 JTextField showStatus;//显示用户连接状态 Socket socket; ObjectOutputStream output;//网络套接字输出流 ObjectInputStream input;//网络套接字输入流 ClientReceive recvThread; //建立菜单栏 JMenuBar jMenuBar = new JMenuBar(); //建立菜单组 JMenu operateMenu = new JMenu ("操作(O)"); //建立菜单项 JMenuItem loginItem = new JMenuItem ("用户登录(I)"); JMenuItem logoffItem = new JMenuItem ("用户注销(L)"); JMenuItem exitItem=new JMenuItem ("退出(X)"); JMenu conMenu=new JMenu ("设置(C)"); JMenuItem userItem=new JMenuItem ("用户设置(U)"); JMenuItem connectItem=new JMenuItem ("连接设置(C)"); JMenu helpMenu=new JMenu ("帮助(H)"); JMenuItem helpItem=new JMenuItem ("帮助(H)"); //建立工具栏 JToolBar toolBar = new JToolBar(); //建立工具栏中的按钮组件 JButton loginButton;//用户登录 JButton logoffButton;//用户注销 JButton userButton;//用户信息的设置 JButton connectButton;//连接设置 JButton exitButton;//退出按钮 //框架的大小 Dimension faceSize = new Dimension(400, 600); JPanel downPanel ; GridBagLayout girdBag; GridBagConstraints girdBagCon; public ChatClient(){ init();//初始化程序 //添加框架的关闭事件处理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); //设置框架的大小 this.setSize(faceSize); //设置运行时窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation( (int) (screenSize.width - faceSize.getWidth()) / 2, (int) (screenSize.height - faceSize.getHeight()) / 2); this.setResizable(false); this.setTitle("聊天室客户端"); //设置标题 //程序图标 icon = getImage("icon.gif"); this.setIconImage(icon); //设置程序图标 show(); //为操作菜单栏设置热键'V' operateMenu.setMnemonic('O'); //为用户登录设置快捷键为ctrl+i loginItem.setMnemonic ('I'); loginItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_I,InputEvent.CTRL_MASK)); //为用户注销快捷键为ctrl+l logoffItem.setMnemonic ('L'); logoffItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_L,InputEvent.CTRL_MASK)); //为退出快捷键为ctrl+x exitItem.setMnemonic ('X'); exitItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_X,InputEvent.CTRL_MASK)); //为设置菜单栏设置热键'C' conMenu.setMnemonic('C'); //为用户设置设置快捷键为ctrl+u userItem.setMnemonic ('U'); userItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK)); //为连接设置设置快捷键为ctrl+c connectItem.setMnemonic ('C'); connectItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK)); //为帮助菜单栏设置热键'H' helpMenu.setMnemonic('H'); //为帮助设置快捷键为ctrl+p helpItem.setMnemonic ('H'); helpItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_H,InputEvent.CTRL_MASK)); } /** * 程序初始化函数 */ public void init(){ Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); //添加菜单栏 operateMenu.add (loginItem); operateMenu.add (logoffItem); operateMenu.add (exitItem); jMenuBar.add (operateMenu); conMenu.add (userItem); conMenu.add (connectItem); jMenuBar.add (conMenu); helpMenu.add (helpItem); jMenuBar.add (helpMenu); setJMenuBar (jMenuBar); //初始化按钮 loginButton = new JButton("登录"); logoffButton = new JButton("注销"); userButton = new JButton("用户设置" ); connectButton = new JButton("连接设置" ); exitButton = new JButton("退出" ); //当鼠标放上显示信息 loginButton.setToolTipText("连接到指定的服务器"); logoffButton.setToolTipText("与服务器断开连接"); userButton.setToolTipText("设置用户信息"); connectButton.setToolTipText("设置所要连接到的服务器信息"); //将按钮添加到工具栏 toolBar.add(userButton); toolBar.add(connectButton); toolBar.addSeparator();//添加分隔栏 toolBar.add(loginButton); toolBar.add(logoffButton); toolBar.addSeparator();//添加分隔栏 toolBar.add(exitButton); contentPane.add(toolBar,BorderLayout.NORTH); checkbox = new JCheckBox("悄悄话"); checkbox.setSelected(false); actionlist = new JComboBox(); actionlist.addItem("微笑地"); actionlist.addItem("高兴地"); actionlist.addItem("轻轻地"); actionlist.addItem("生气地"); actionlist.addItem("小心地"); actionlist.addItem("静静地"); actionlist.setSelectedIndex(0); //初始时 loginButton.setEnabled(true); logoffButton.setEnabled(false); //为菜单栏添加事件监听 loginItem.addActionListener(this); logoffItem.addActionListener(this); exitItem.addActionListener(this); userItem.addActionListener(this); connectItem.addActionListener(this); helpItem.addActionListener(this); //添加按钮的事件侦听 loginButton.addActionListener(this); logoffButton.addActionListener(this); userButton.addActionListener(this); connectButton.addActionListener(this); exitButton.addActionListener(this); combobox = new JComboBox(); combobox.insertItemAt("所有人",0); combobox.setSelectedIndex(0); messageShow = new JTextArea(); messageShow.setEditable(false); //添加滚动条 messageScrollPane = new JScrollPane(messageShow, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); messageScrollPane.setPreferredSize(new Dimension(400,400)); messageScrollPane.revalidate(); clientMessage = new JTextField(23); clientMessage.setEnabled(false); clientMessageButton = new JButton(); clientMessageButton.setText("发送"); //添加系统消息的事件侦听 clientMessage.addActionListener(this); clientMessageButton.addActionListener(this); sendToLabel = new JLabel("发送至:"); express = new JLabel(" 表情: "); messageLabel = new JLabel("发送消息:"); downPanel = new JPanel(); girdBag = new GridBagLayout(); downPanel.setLayout(girdBag); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCon.gridy = 0; girdBagCon.gridwidth = 5; girdBagCon.gridheight = 2; girdBagCon.ipadx = 5; girdBagCon.ipady = 5; JLabel none = new JLabel(" "); girdBag.setConstraints(none,girdBagCon); downPanel.add(none); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCon.gridy = 2; girdBagCon.insets = new Insets(1,0,0,0); //girdBagCon.ipadx = 5; //girdBagCon.ipady = 5; girdBag.setConstraints(sendToLabel,girdBagCon); downPanel.add(sendToLabel); girdBagCon = new GridBagConstraints(); girdBagCon.gridx =1; girdBagCon.gridy = 2; girdBagCon.anchor = GridBagConstraints.LINE_START; girdBag.setConstraints(combobox,girdBagCon); downPanel.add(combobox); girdBagCon = new GridBagConstraints(); girdBagCon.gridx =2; girdBagCon.gridy = 2; girdBagCon.anchor = GridBagConstraints.LINE_END; girdBag.setConstraints(express,girdBagCon); downPanel.add(express); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 3; girdBagCon.gridy = 2; girdBagCon.anchor = GridBagConstraints.LINE_START; //girdBagCon.insets = new Insets(1,0,0,0); //girdBagCon.ipadx = 5; //girdBagCon.ipady = 5; girdBag.setConstraints(actionlist,girdBagCon); downPanel.add(actionlist); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 4; girdBagCon.gridy = 2; girdBagCon.insets = new Insets(1,0,0,0); //girdBagCon.ipadx = 5; //girdBagCon.ipady = 5; girdBag.setConstraints(checkbox,girdBagCon); downPanel.add(checkbox); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCon.gridy = 3; girdBag.setConstraints(messageLabel,girdBagCon); downPanel.add(messageLabel); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 1; girdBagCon.gridy = 3; girdBagCon.gridwidth = 3; girdBagCon.gridheight = 1; girdBag.setConstraints(clientMessage,girdBagCon); downPanel.add(clientMessage); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 4; girdBagCon.gridy = 3; girdBag.setConstraints(clientMessageButton,girdBagCon); downPanel.add(clientMessageButton);
public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{ //建立工具栏用来显示地址栏 JToolBar bar=new JToolBar (); //建立网页显示界面 JTextField jurl = new JTextField (60); JEditorPane jEditorPane1 = new JEditorPane (); JScrollPane scrollPane = new JScrollPane (jEditorPane1); JFileChooser chooser=new JFileChooser (); JFileChooser chooser1=new JFileChooser (); String htmlSource; JWindow window = new JWindow (WebBrowser.this); JButton button2=new JButton ("窗口还原"); Toolkit toolkit = Toolkit.getDefaultToolkit(); //建立菜单栏 JMenuBar jMenuBar1 = new JMenuBar(); //建立菜单组 JMenu fileMenu = new JMenu ("文件(F)"); //建立菜单项 JMenuItem saveAsItem = new JMenuItem ("另存为(A)..."); JMenuItem exitItem=new JMenuItem ("退出(I)"); JMenu editMenu=new JMenu ("编辑(E)"); JMenuItem backItem=new JMenuItem ("后退"); JMenuItem forwardItem=new JMenuItem ("前进"); JMenu viewMenu=new JMenu ("视图(V)"); JMenuItem fullscreenItem=new JMenuItem ("全屏(U)"); JMenuItem sourceItem=new JMenuItem ("查看源码(C)"); JMenuItem reloadItem=new JMenuItem ("刷新(R)"); //建立工具栏 JToolBar toolBar = new JToolBar(); //建立工具栏中的按钮组件 JButton picSave = new JButton("另存为"); JButton picBack = new JButton("后退"); JButton picForward = new JButton("前进"); JButton picView = new JButton("查看源代码"); JButton picExit = new JButton("退出"); JLabel label=new JLabel ("地址"); JButton button=new JButton ("转向"); Box adress=Box.createHorizontalBox (); //ArrayList对象,用来存放历史地址 private ArrayList history=new ArrayList(); //整型变量,表示历史地址的访问顺序 private int historyIndex; /** **构造函数 **初始化图形用户界面 */ public WebBrowser(){ setTitle ("网页浏览器"); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //为jEditorPane1添加事件侦听 jEditorPane1.addHyperlinkListener (this); //为组件fileMenu设置热键‘F’ fileMenu.setMnemonic('F'); saveAsItem.setMnemonic ('S'); //为“另存为”组件设置快捷键为ctrl+s saveAsItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); exitItem.setMnemonic('Q'); exitItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_E,InputEvent.CTRL_MASK)); //将菜单项saveAsItem加入到菜单组fileMenu中 fileMenu.add (saveAsItem); //在菜单项中添加隔离 fileMenu.addSeparator (); fileMenu.add (exitItem); backItem.setMnemonic ('B'); backItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_Z,InputEvent.CTRL_MASK)); forwardItem.setMnemonic('D'); forwardItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK)); editMenu.setMnemonic('E'); editMenu.add (backItem); editMenu.add (forwardItem); viewMenu.setMnemonic('V'); fullscreenItem.setMnemonic('U'); fullscreenItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK)); sourceItem.setMnemonic('C'); sourceItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK)); reloadItem.setMnemonic('R'); reloadItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_R,InputEvent.CTRL_MASK)); Container contentPane=getContentPane (); //设置大小 scrollPane.setPreferredSize(new Dimension(100,500)); contentPane.add (scrollPane, BorderLayout.SOUTH); //在工具栏中添加按钮组件 toolBar.add(picSave); toolBar.addSeparator(); toolBar.add(picBack); toolBar.add(picForward); toolBar.addSeparator(); toolBar.add(picView); toolBar.addSeparator(); toolBar.add(picExit); contentPane.add (bar,BorderLayout.CENTER); contentPane.add(toolBar,BorderLayout.NORTH); viewMenu.add (fullscreenItem); viewMenu.add (sourceItem); viewMenu.addSeparator (); viewMenu.add (reloadItem); jMenuBar1.add (fileMenu); jMenuBar1.add (editMenu); jMenuBar1.add (viewMenu); setJMenuBar (jMenuBar1); adress.add (label); adress.add (jurl); adress.add (button); bar.add (adress); //为组件添加事件监听 saveAsItem.addActionListener(this); picSave.addActionListener(this); exitItem.addActionListener(this); picExit.addActionListener(this); backItem.addActionListener(this); picBack.addActionListener(this); forwardItem.addActionListener(this); picForward.addActionListener(this); fullscreenItem.addActionListener(this); sourceItem.addActionListener(this); picView.addActionListener(this); reloadItem.addActionListener(this); button.addActionListener(this); jurl.addActionListener(this); }
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class system extends JFrame { JDesktopPane deskpane = new JDesktopPane();//在窗体里建立虚拟桌 JPanel p = new JPanel();//创建一个面板并实例化 public system(){//构造函数 setTitle("订单管理系统");//设置窗体标题 Container con = getContentPane(); con.setLayout(new BorderLayout());//创建一个布局 con.add(deskpane,BorderLayout.CENTER);//实例虚拟桌面的布局 Font f =new Font("新宋体",Font.PLAIN,12); JMenuBar mb = new JMenuBar();//实例化菜单栏 mb.setOpaque(true); setJMenuBar(mb); mb.setOpaque(true); setJMenuBar(mb); JMenu systemM = new JMenu("系统管理"); systemM.setFont(f); mb.add(systemM); JMenuItem land = new JMenuItem("重新登陆"); land.setFont(f); JMenuItem exit = new JMenuItem("退出系统"); exit.setFont(f); systemM.add(land); systemM.add(exit); JMenu userM = new JMenu("用户管理"); userM.setFont(f); mb.add(userM); JMenuItem password = new JMenuItem("密码修改"); password.setFont(f); JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f); userM.add(password); userM.add(addDelete); JMenu mesM = new JMenu("信息管理"); mesM .setFont(f); mb.add(mesM ); JMenu addM= new JMenu("添加信息"); addM.setFont(f); JMenu viewM = new JMenu("查看信息"); viewM.setFont(f); JMenu modifM = new JMenu("修改信息"); modifM.setFont(f); JMenu deleteM = new JMenu("删除信息"); deleteM.setFont(f); mesM.add(addM); mesM.add(viewM); mesM.add(modifM); mesM.add(deleteM); JMenuItem addgoods = new JMenuItem("添加商品信息"); addgoods.setFont(f); addM.add(addgoods); JMenuItem addclient = new JMenuItem("添加客户信息"); addclient.setFont(f); addM.add(addclient); JMenuItem viewgoods= new JMenuItem("查看商品信息"); viewgoods.setFont(f); viewM.add(viewgoods); JMenuItem viewclient = new JMenuItem("查看客户信息"); viewclient.setFont(f); viewM.add(viewclient); JMenuItem modifgoods = new JMenuItem("修改商品信息"); modifgoods.setFont(f); modifM.add(modifgoods); JMenuItem modifclient = new JMenuItem("修改用户信息"); modifclient.setFont(f); modifM.add(modifclient); JMenuItem deletegoods = new JMenuItem("删除商品信息"); deletegoods.setFont(f); deleteM.add(deletegoods); JMenuItem deleteclient = new JMenuItem("删除用户信息"); deleteclient.setFont(f); deleteM.add(deleteclient); JMenu orderM = new JMenu("订单管理"); orderM.setFont(f); mb.add(orderM); JMenuItem addO= new JMenuItem("添加订单"); addO.setFont(f); JMenuItem viewO = new JMenuItem("查看订单"); viewO.setFont(f); JMenuItem modifO = new JMenuItem("修改订单"); modifO.setFont(f); JMenuItem deleteO = new JMenuItem("删除订单"); deleteO.setFont(f); orderM.add(addO); orderM.add(viewO); orderM.add(modifO); orderM.add(deleteO); //主界面上标出学号、姓名、及所作系统名 JLabel jlabel1=new JLabel(); jlabel1.setFont(new Font("宋体",Font.BOLD,15)); //设置字体 jlabel1.setHorizontalAlignment(SwingConstants.CENTER); //设置位置 jlabel1.setText("简易订单管理系统学号:070810228" + " 姓名:廖太春指导老师:周老师"); jlabel1.setBounds(450,350, 200, 200); deskpane.add(jlabel1); password.addActionListener(new ActionListener(){//密码修改监听 public void actionPerformed(ActionEvent e){ System.out.println("修改密码"); deskpane.add(new modifpsw()); } }); land.addActionListener(new ActionListener(){//重新登陆监听 public void actionPerformed(ActionEvent e){ System.out.println("登录"); setVisible(false); new Land(); } }); addDelete.addActionListener(new ActionListener(){//添加/删除用户监听 public void actionPerformed(ActionEvent e){ deskpane.add(new AddDeleteUser()); } }); addgoods.addActionListener(new ActionListener(){//添加商品信息 public void actionPerformed(ActionEvent e){ deskpane.add(new addgoods()); } }); addclient.addActionListener(new ActionListener(){//添加用户信息 public void actionPerformed(ActionEvent e){ deskpane.add(new addclient()); } }); viewgoods.addActionListener(new ActionListener(){//查看商品信息 public void actionPerformed(ActionEvent e){ System.out.println("查看商品信息"); deskpane.add(new viewgoods()); } }); viewclient.addActionListener(new ActionListener(){//查看客户信息 public void actionPerformed(ActionEvent e){ System.out.println("查看客户信息"); deskpane.add(new viewclient()); } }); modifgoods.addActionListener(new ActionListener(){//修改商品信息 public void actionPerformed(ActionEvent e){ System.out.println("修改商品信息"); deskpane.add(new modifgoods()); } }); modifclient.addActionListener(new ActionListener(){//修改用户信息 public void actionPerformed(ActionEvent e){ System.out.println("修改用户信息"); deskpane.add(new modifclient()); } }); deletegoods.addActionListener(new ActionListener(){//删除商品信息 public void actionPerformed(ActionEvent e){ System.out.println("删除商品信息"); deskpane.add(new deletegoods()); } }); deleteclient.addActionListener(new ActionListener(){//删除用户信息 public void actionPerformed(ActionEvent e){ System.out.println("删除用户信息"); deskpane.add(new deleteclient()); } }); addO.addActionListener(new ActionListener(){//添加订单 public void actionPerformed(ActionEvent e){ deskpane.add(new addO()); } }); viewO.addActionListener(new ActionListener(){//查看订单 public void actionPerformed(ActionEvent e){ deskpane.add(new viewO()); } }); modifO.addActionListener(new ActionListener(){//修改订单 public void actionPerformed(ActionEvent e){ System.out.println("修改订单"); deskpane.add(new modifO()); } }); deleteO.addActionListener(new ActionListener(){//删除订单 public void actionPerformed(ActionEvent e){ System.out.println("/删除订单"); deskpane.add(new deleteO()); } }); exit.addActionListener(new ActionListener(){//退出系统监听 public void actionPerformed(ActionEvent e){ setVisible(false); } }); this.setBounds(200,200,700,600); setVisible(true); } public static void main(String[] args){ new Land(); } }
Socket聊天室源程序 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.io.*; import java.net.*; /* * 聊天客户端的主框架类 */ public class ChatClient extends JFrame implements ActionListener{ String ip = "127.0.0.1";//连接到服务端的ip地址 int port = 8888;//连接到服务端的端口号 String userName = "匆匆过客";//用户名 int type = 0;//0表示未连接,1表示已连接 Image icon;//程序图标 JComboBox combobox;//选择发送消息的接受者 JTextArea messageShow;//客户端的信息显示 JScrollPane messageScrollPane;//信息显示的滚动条 JLabel express,sendToLabel,messageLabel ; JTextField clientMessage;//客户端消息的发送 JCheckBox checkbox;//悄悄话 JComboBox actionlist;//表情选择 JButton clientMessageButton;//发送消息 JTextField showStatus;//显示用户连接状态 Socket socket; ObjectOutputStream output;//网络套接字输出流 ObjectInputStream input;//网络套接字输入流 ClientReceive recvThread; //建立菜单栏 JMenuBar jMenuBar = new JMenuBar(); //建立菜单组 JMenu operateMenu = new JMenu ("操作(O)"); //建立菜单项 JMenuItem loginItem = new JMenuItem ("用户登录(I)"); JMenuItem logoffItem = new JMenuItem ("用户注销(L)"); JMenuItem exitItem=new JMenuItem ("退出(X)"); JMenu conMenu=new JMenu ("设置(C)"); JMenuItem userItem=new JMenuItem ("用户设置(U)"); JMenuItem connectItem=new JMenuItem ("连接设置(C)"); JMenu helpMenu=new JMenu ("帮助(H)"); JMenuItem helpItem=new JMenuItem ("帮助(H)"); //建立工具栏 JToolBar toolBar = new JToolBar(); //建立工具栏中的按钮组件 JButton loginButton;//用户登录 JButton logoffButton;//用户注销 JButton userButton;//用户信息的设置 JButton connectButton;//连接设置 JButton exitButton;//退出按钮 //框架的大小 Dimension faceSize = new Dimension(400, 600); JPanel downPanel ; GridBagLayout girdBag; GridBagConstraints girdBagCon; public ChatClient(){ init();//初始化程序 //添加框架的关闭事件处理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); //设置框架的大小 this.setSize(faceSize); //设置运行时窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation( (int) (screenSize.width - faceSize.getWidth()) / 2, (int) (screenSize.height - faceSi

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧