立即注册 登录
计算机技术论坛 返回首页

zhangyanwu9527的个人空间 https://www.jsjbbs.cn/?20617 [收藏] [复制] [分享] [RSS]

日志

Simple : JAVA Swing to UI

已有 816 次阅读2011-7-28 00:44 |个人分类:JAVA学习

用Java Swing 做个简单的界面:

1./* 创建一个名为title的窗体对象 */
   JFrame aWindow = new JFrame(title);

/*获取屏幕大小,用于定位我们创建的窗体*/

  Toolkit theKit = aWindow.getToolkit();/* Get the window toolkit */
   Dimension wndSize = theKit.getScreenSize();/* Get screen size */

  /* 设置窗体基础属性 */
   aWindow.setBounds(wndSize.width / 4, wndSize.height / 4, wndSize.width /2,
        wndSize.height / 2);/* 设置窗体位置(屏幕中央)与大小为屏幕的1/4,长宽分别是屏幕的一半 */
   aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/* 退出程序时关闭窗口 */
   aWindow.setVisible(true);/* 设置窗体为可见 */
   aWindow.setResizable(false);/* 设置窗体不可由用户调整大小 */

2./*字体设置*/

   Font lableFont = new Font("Times Roman", Font.BOLD, 18);/*字体为“Times Roman”,粗体,18号*/

3./*创建并添加组件*/

   1)  /* TextField 文本标签 */

  TextField FreedText = new TextField(80);/*新创建一个文本组件,设置列数大小*/
       FreedText.setBackground(new Color(0xffffff));/*设置背景颜色*/
       FreedText.setEditable(false);/*设置是否可能编辑*/

   2)  /* Label标签*/

       Label InputFileLb = new Label("  Input File(.csv)", Label.RIGHT);
       InputFileLb.setFont(lableFont);/*设置字体样式*/

  3)  /*Button按钮*/

      JButton calcButton = new JButton(" 计    算 ");
   calcButton.addActionListener(/*添加触发‘计算’按钮的事件*/);
     calcButton.setPreferredSize(new Dimension(80, 25));/*设置按钮的大小*/

   4)/*添加各组件 */

     content.add("组件对象名");
4./*文件选择对话框*/

    JButton choseButton = new JButton("浏 览");

     /*添加触发打开选择文件对话框事件*/
    choseButton.addActionListener(new OpenL(InFileName,OutFileName));

    /*监听“浏览”按钮事件*/
    class OpenL implements ActionListener {

                public TextField inFileName;
                public TextField outFileName;
                public String fileSuffix;
                public TextField fontCoefic;
                public TextField backCoefic;

                public OpenL(TextField inFileName,TextField outFileName) {
          this.inFileName = inFileName;
                 this.outFileName = outFileName;
      }
      public OpenL(TextField inFileName,TextField outFileName,String fileSuffix) {
          this.inFileName = inFileName;
                this.outFileName = outFileName;
                          this.fileSuffix = fileSuffix;
      }
  
      public OpenL(TextField inFileName,TextField outFileName,String fileSuffix,TextField fontCoefic,TextField backCoefic) {
           this.inFileName = inFileName;
           this.outFileName = outFileName;
           this.fileSuffix = fileSuffix;
           this.fontCoefic = fontCoefic;
           this.backCoefic = backCoefic;
      }  
      public void actionPerformed(ActionEvent e) {

           // Two arguments, defaults to open file:

           FileDialog d = new FileDialog(SwingToUI.this, "打开文件");

           d.setFile("*"+fileSuffix);

           d.setDirectory("."); // Current directory

             d.setVisible(true);

           String yourFile = "*.*";

           if ((yourFile = d.getFile()) != null) {

                       inFileName.setText(d.getDirectory() + yourFile);
                       outFileName.setText(d.getDirectory()+"(处理后)"+yourFile);
    
               } else {

                         inFileName.setText("You pressed cancel");

           }

              }

        }

5. 按以上的4步即可做出一个简单的界面,具体的处理逻辑可以根据需求自己添加。对于界面布局,复合组件等等还得深入学习。

        Java Swing 做界面真得不是一个好的选择,但是Java的开源性决定了对于遇到的各种问题网上很容易就能找到解决办法,而VC就不是那么容易了,而且Java的可移植性很好,目前已经掌握了把JAR包转换为EXE可执行文件可自身带微型JRE。进一步还可以将其转化为安装文件,可以更节省空间。现存在急需解决的问题:找一个精减版的JRE,已有一个20M的网上下载的JRE6.0可惜对中文不能很好的支持。

        关注下JAVA最新动态,JDK7与6的区别。

学习下精减JRE的方法,自己整理一个微版的JRE。


路过

雷人

握手

鲜花

鸡蛋

全部作者的其他最新日志

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

返回顶部