我在java图形界面这方面,不了解。
帮我举个java图形界面的例子,包括增删改查功能和菜单项。

解决方案 »

  1.   

    swing
           import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Point;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenuBar;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    public class NobelGui implements ActionListener {
     private JFrame jFrame;
     private JPanel jContentPane;
     private JMenuBar jJMenuBar;
     private JLabel lblId = null;
     private JTextField tfId = null;
     private JLabel lblAuthor = null;
     private JTextField tfAuthor = null;
     private JLabel lblsubject = null;
     private JComboBox cbsubject = null;
     private JLabel lblworks = null;
     private JTextField tfworks = null;
     private JLabel lbltime = null;
     private JTextField tftime = null;
     private JLabel lblcountry = null;
     private JTextField tfcountry = null;
     private JButton btnadd = null;
     private JButton btndel = null;
     private JButton btnmodify = null;
     private JButton btnquery = null;
     private JTextField getTfId() {
      if (tfId == null) {
       tfId = new JTextField();
       tfId.setBounds(new Rectangle(115, 36, 197, 25));
      }
      return tfId;
     }
     private JTextField getTfAuthor() {
      if (tfAuthor == null) {
       tfAuthor = new JTextField();
       tfAuthor.setBounds(new Rectangle(115, 75, 197, 25));
      }
      return tfAuthor;
     }
     private JComboBox getCbsubject() {
      if (cbsubject == null) {
       String[] str = { "和平奖", "物理奖", "文学奖", "化学奖", "生物奖", "经济奖" };
       cbsubject = new JComboBox(str);
       cbsubject.setBounds(new Rectangle(115, 115, 197, 25));
      }
      return cbsubject;
     }
     private JTextField getTfworks() {
      if (tfworks == null) {
       tfworks = new JTextField();
       tfworks.setBounds(new Rectangle(115, 151, 197, 25));
       tfworks.setText("");
      }
      return tfworks;
     }
     private JTextField getTftime() {
      if (tftime == null) {
       tftime = new JTextField();
       tftime.setBounds(new Rectangle(115, 190, 197, 25));
      }
      return tftime;
     }
     private JTextField getTfcountry() {
      if (tfcountry == null) {
       tfcountry = new JTextField();
       tfcountry.setBounds(new Rectangle(115, 227, 197, 25));
      }
      return tfcountry;
     }
     private JButton getBtnadd() {
      if (btnadd == null) {
       btnadd = new JButton();
       btnadd.setBounds(new Rectangle(36, 282, 64, 28));
       btnadd.addActionListener(this);
       btnadd.setText("添加");
      }
      return btnadd;
     }
     private JButton getBtndel() {
      if (btndel == null) {
       btndel = new JButton();
       btndel.setBounds(new Rectangle(108, 282, 64, 28));
       btndel.addActionListener(this);
       btndel.setText("删除");
      }
      return btndel;
     }
     private JButton getBtnmodify() {
      if (btnmodify == null) {
       btnmodify = new JButton();
       btnmodify.setBounds(new Rectangle(180, 282, 64, 28));
       btnmodify.addActionListener(this);
       btnmodify.setText("修改");
      }
      return btnmodify;
     }
     private JButton getBtnquery() {
      if (btnquery == null) {
       btnquery = new JButton();
       btnquery.setBounds(new Rectangle(254, 282, 64, 28));
       btnquery.addActionListener(this);
       btnquery.setText("查找");
      }
      return btnquery;
     }
     public static void main(String[] args) {
      // TODO 自动生成方法存根
      SwingUtilities.invokeLater(new Runnable() {
       public void run() {
        NobelGui application = new NobelGui();
        application.getJFrame().setVisible(true);
       }
      });
     }
     private JFrame getJFrame() {
      if (jFrame == null) {
       jFrame = new JFrame();
       jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       jFrame.setResizable(false);
       jFrame.setLocation(new Point(500, 265));
       jFrame.setJMenuBar(getJJMenuBar());
       jFrame.setSize(353, 375);
       jFrame.setContentPane(getJContentPane());
       jFrame.setTitle("诺贝尔信息管理");
      }
      return jFrame;
     }
     private JPanel getJContentPane() {
      if (jContentPane == null) {
       lblcountry = new JLabel();
       lblcountry.setBounds(new Rectangle(37, 228, 72, 25));
       lblcountry.setText("获奖人国家");
       lbltime = new JLabel();
       lbltime.setBounds(new Rectangle(37, 193, 61, 25));
       lbltime.setText("获奖时间");
       lblworks = new JLabel();
       lblworks.setBounds(new Rectangle(37, 152, 61, 25));
       lblworks.setText("获奖作品");
       lblsubject = new JLabel();
       lblsubject.setBounds(new Rectangle(37, 114, 61, 25));
       lblsubject.setText("获奖科目");
       lblAuthor = new JLabel();
       lblAuthor.setText("获奖人");
       lblAuthor.setBounds(new Rectangle(37, 75, 61, 25));
       lblId = new JLabel();
       lblId.setBounds(new Rectangle(37, 36, 61, 25));
       lblId.setPreferredSize(new Dimension(52, 20));
       lblId.setText("证书编号");
       jContentPane = new JPanel();
       jContentPane.setLayout(null);
       jContentPane.setBackground(Color.lightGray);
       jContentPane.add(lblId, null);
       jContentPane.add(getTfId(), null);
       jContentPane.add(lblAuthor, null);
       jContentPane.add(getTfAuthor(), null);
       jContentPane.add(lblsubject, null);
       jContentPane.add(getCbsubject(), null);
       jContentPane.add(lblworks, null);
       jContentPane.add(getTfworks(), null);
       jContentPane.add(lbltime, null);
       jContentPane.add(getTftime(), null);
       jContentPane.add(lblcountry, null);
       jContentPane.add(getTfcountry(), null);
       jContentPane.add(getBtnadd(), null);
       jContentPane.add(getBtndel(), null);
       jContentPane.add(getBtnmodify(), null);
       jContentPane.add(getBtnquery(), null);
      }
      return jContentPane;
     }
     private JMenuBar getJJMenuBar() {
      if (jJMenuBar == null) {
       jJMenuBar = new JMenuBar();
      }
      return jJMenuBar;
     }
     public void actionPerformed(ActionEvent e) {
      if (e.getActionCommand().equals("添加")) {
       if (tfId.getText().trim().equals("")
         || tftime.getText().trim().equals("")
         || tfAuthor.getText().trim().equals("")
         || tfworks.getText().trim().equals("")
         || tfcountry.getText().trim().equals("")) {
        JOptionPane.showMessageDialog(jFrame, "请添写相应的信息");
       } else {
        Nobel no = new Nobel();
        no.setId(Integer.parseInt(tfId.getText()));
        no.setAuthor(tfAuthor.getText());
        no.setSubject((String)cbsubject.getSelectedItem());
        no.setWorks(tfworks.getText());
        no.setCountry(tfcountry.getText());
        no.setTime(tftime.getText());
        boolean flag = NobelOperate.add(no);
        if(flag){
         JOptionPane.showMessageDialog(jFrame, "添加成功");
        } else {
         JOptionPane.showMessageDialog(jFrame, "添加失败");
        }
       }
      } else if (e.getActionCommand().equals("删除")) {
       if(tfId.getText().trim().equals("")){
        JOptionPane.showMessageDialog(jFrame, "请选择一条记录");
       } else {
        int id = Integer.parseInt(tfId.getText());
        boolean flag = NobelOperate.del(id);
        if(flag) {
         JOptionPane.showMessageDialog(jFrame, "删除成功");
         tfId.setText("");
         tfAuthor.setText("");
         tfcountry.setText("");
         tftime.setText("");
         tfworks.setText("");
        } else {
         JOptionPane.showMessageDialog(jFrame, "删除失败");
        }
       }
      } else if (e.getActionCommand().equals("修改")) {
       if (tfId.getText().trim().equals("")
         || tftime.getText().trim().equals("")
         || tfAuthor.getText().trim().equals("")
         || tfworks.getText().trim().equals("")
         || tfcountry.getText().trim().equals("")) {
        JOptionPane.showMessageDialog(jFrame, "请添写相应的信息");
       } else {
        Nobel no = new Nobel();
        no.setId(Integer.parseInt(tfId.getText()));
        no.setAuthor(tfAuthor.getText());
        no.setSubject((String)cbsubject.getSelectedItem());
        no.setWorks(tfworks.getText());
        no.setCountry(tfcountry.getText());
        no.setTime(tftime.getText());
        boolean flag = NobelOperate.modify(no);
        if(flag) {
         JOptionPane.showMessageDialog(jFrame, "修改成功");
        } else {
         JOptionPane.showMessageDialog(jFrame, "修改失败");
        }
       }
      } else if (e.getActionCommand().equals("查找")) {
       if(tfId.getText().trim().equals("")){
        JOptionPane.showMessageDialog(jFrame, "请选择一条记录");
       } else {
        int id = Integer.parseInt(tfId.getText());
        Nobel no = NobelOperate.query(id);
       // tfId.setText(String.valueOf(no.getId()));
        tfAuthor.setText(no.getAuthor());
        tftime.setText(no.getTime());
        tfworks.setText(no.getWorks());
        tfcountry.setText(no.getCountry());
        cbsubject.setSelectedItem(no.getSubject());
       }
      }
     }
    }
      

  2.   

    我一般用的是swing包,但网上有eclipse组织开发的swt的,听说比java自带的效率高多了,楼主可以试试swt包
      

  3.   

    其实不是太难,一本swing的书了解java的swing控件是什么就可以了,其实就是java基础,不过监听器得好好看看。看多了就好了
      

  4.   

    这种问题最好还是不要拿来问了,对于不了解的东西还是应该一步一步的学习,给你个例子是不能使你掌握swing的!
      

  5.   

    推荐eclipse,很好用,动手试一试。
      

  6.   


    package Menu;import java.awt.*;   
    import java.awt.event.*;   
    import javax.swing.*;   
      
    public class MyMenu extends JFrame  implements ActionListener   
    {   
        JMenuBar mb = new JMenuBar();   
        JMenu    file = new JMenu("file");   
        JMenu    edit = new JMenu("edit");   
        JMenuItem    open = new JMenuItem("open");   
        JMenuItem    close = new JMenuItem("close");   
        JMenuItem    exit = new JMenuItem("Exit");   
        JMenuItem    copy = new JMenuItem("copyword");   
        JMenuItem    paste = new JMenuItem("Paste");   
      
        public MyMenu(){   
           
            super("My Own MenuBar by swing JMenuBar");   
            setJMenuBar(mb);   
            mb.add(file);   
            mb.add(edit);   
            file.add(open);   
            file.add(close);   
                    exit.addActionListener(this);   
            file.add(exit);   
            edit.add(copy);   
            edit.add(paste);   
      
            setSize(300,400);   
            setVisible(true);   
        }   
      
        public static void main(String args[]){   
             
            MyMenu M=new MyMenu();   
        }   
      
            public void actionPerformed(ActionEvent e){   
            
            if(e.getSource()==exit)   
                System.exit(0);   
              
        }   
      

  7.   

    package Menu;
    import java.awt.*; 
    import java.awt.event.*; 
    public class TestMenuBar { 
    MenuBar mb=new MenuBar(); 
    Menu filem=new Menu("文件"); 
    Menu editm=new Menu("编辑"); 
    Menu geshim=new Menu("格式"); 
    Menu chakanm=new Menu("查看"); 
    Menu helpm=new Menu("帮助"); 
    MenuItem filem1=new MenuItem("新建"); 
    MenuItem filem2=new MenuItem("打开"); 
    MenuItem filem3=new MenuItem("保存"); 
    MenuItem filem4=new MenuItem("另存为"); 
        MenuItem filem5=new MenuItem("页面设置"); 
    MenuItem filem6=new MenuItem("打印"); 
    MenuItem editm1=new MenuItem("撤消"); 
    MenuItem editm2=new MenuItem("剪切"); 
    MenuItem editm3=new MenuItem("复制"); 
    MenuItem editm4=new MenuItem("粘贴"); 
    MenuItem editm5=new MenuItem("删除"); 
    MenuItem editm6=new MenuItem("查找"); 
    MenuItem editm7=new MenuItem("查找下一个"); 
    MenuItem editm8=new MenuItem("替换"); 
    MenuItem editm9=new MenuItem("转到"); 
    MenuItem editm10=new MenuItem("全选"); 
    MenuItem editm11=new MenuItem("时间/日期"); 
    MenuItem geshim2=new MenuItem("字体"); 
    CheckboxMenuItem geshim1=new CheckboxMenuItem("自动换行",true); 
    CheckboxMenuItem ch=new CheckboxMenuItem("退出",true); 
    MenuItem chakanm1=new MenuItem("状态栏"); 
    MenuItem helpm1=new MenuItem("帮助主题"); 
    MenuItem helpm2=new MenuItem("关于记事本"); 
    TestMenuBar() 

       Frame f=new Frame("简单的菜单"); 
       f.setLayout(new FlowLayout()); 
    mb.add(filem); 
    mb.add(editm); 
    mb.add(geshim); 
    mb.add(chakanm); 
    mb.add(helpm); 
    filem.add(filem1); 
    filem.add(filem2); 
    filem.add(filem3); 
    filem.add(filem4); 
    filem.addSeparator(); 
    filem.add(filem5); 
          filem.add(filem6); 
          filem.addSeparator(); 
       filem.add(ch); 
       editm.add(editm1); 
       editm.addSeparator(); 
       editm.add(editm2); 
       editm.add(editm3); 
       editm.add(editm4); 
       editm.add(editm5); 
       editm.addSeparator(); 
       editm.add(editm6); 
       editm.add(editm7); 
       editm.add(editm8); 
       editm.add(editm9); 
       editm.addSeparator(); 
       editm.add(editm10); 
       editm.add(editm11); 
       geshim.add(geshim1); 
       geshim.add(geshim2); 
       chakanm.add(chakanm1); 
       helpm.add(helpm1); 
       helpm.addSeparator(); 
       helpm.add(helpm2); 
       f.setMenuBar(mb); 
       f.setSize(300,100); 
       f.setVisible(true); 
       f.addWindowListener(new WindowAdapter(){ 
        public void windowClosing(WindowEvent e) 
        { 
        System.exit(0); 
        } 
       } 
    ); 

    public static void main(String[]args) 

    new TestMenuBar(); 

    }
    期待高手