当前位置:  技术问答>java相关

关于Applet请高手给点建议,跟帖有分!

    来源: 互联网  发布时间:2015-10-25

    本文导语:  本人刚刚接触java而且还是从applet开始,可是搞个界面就已经把我弄晕了。一会GridBagLayout,一会BorderLayout,结果我连一个web界面摆不出来。请高手建议一下哪本书比较适合,或者哪里有相应的代码可以下载,让我参考一...

本人刚刚接触java而且还是从applet开始,可是搞个界面就已经把我弄晕了。一会GridBagLayout,一会BorderLayout,结果我连一个web界面摆不出来。请高手建议一下哪本书比较适合,或者哪里有相应的代码可以下载,让我参考一下。谢了!

|
你试试这个:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.jnlp.*;

/**
   A calculator with a calculation history that can be 
   deployed as a Java Web Start application.
*/
public class WebStartCalculator
{
   public static void main(String[] args)
   {  
      CalculatorFrame frame = new CalculatorFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}

/**
   A frame with a calculator panel and a menu to load and
   save the calculator history.
*/
class CalculatorFrame extends JFrame
{
   public CalculatorFrame()
   {
      setTitle();
      Container contentPane = getContentPane();
      panel = new CalculatorPanel();
      contentPane.add(panel);

      JMenu fileMenu = new JMenu("File");

      JMenuItem openItem = fileMenu.add("Open");
      openItem.addActionListener(new        
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               open();
            }
         });

      JMenuItem saveItem = fileMenu.add("Save");
      saveItem.addActionListener(new        
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               save();
            }
         });
      JMenuBar menuBar = new JMenuBar();
      menuBar.add(fileMenu);
      setJMenuBar(menuBar);
      
      pack();
   }
   
   /**
      Gets the title from the persistent store or 
      asks the user for the title if there is no prior entry.
   */
   public void setTitle()
   {
      try 
      { 
         String title = null;

         BasicService basic = (BasicService)
            ServiceManager.lookup("javax.jnlp.BasicService"); 
         URL codeBase = basic.getCodeBase();

         PersistenceService service = (PersistenceService)
            ServiceManager.lookup(
               "javax.jnlp.PersistenceService"); 
         URL key = new URL(codeBase, "title");

         try
         {
            FileContents contents = service.get(key);
            InputStream in = contents.getInputStream();
            BufferedReader reader = new BufferedReader(
               new InputStreamReader(in));
            title = reader.readLine();
         }
         catch (FileNotFoundException exception)
         {
            title = JOptionPane.showInputDialog(
               "Please supply a frame title:");
            if (title == null) return;
            
            service.create(key, 100);
            FileContents contents = service.get(key);
            OutputStream out 
               = contents.getOutputStream(true);
            PrintStream printOut = new PrintStream(out);
            printOut.print(title);               
            setTitle(title);
         }
         setTitle(title);
      } 
      catch (UnavailableServiceException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
      catch (MalformedURLException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
      catch (IOException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }      
   }

   /**
      Opens a history file and updates the display.
   */
   public void open()
   {
      try 
      {
         FileOpenService service = (FileOpenService)
            ServiceManager.lookup(
               "javax.jnlp.FileOpenService"); 
         FileContents contents = service.openFileDialog(".", 
               new String[] { "txt" });

         JOptionPane.showMessageDialog(this, contents.getName());
         if (contents != null)
         {
            InputStream in = contents.getInputStream();
            BufferedReader reader = new BufferedReader(
               new InputStreamReader(in));
            String line;
            while ((line = reader.readLine()) != null)
            {
               panel.append(line);                  
               panel.append("n");
            }
         }
      } 
      catch (UnavailableServiceException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
      catch (IOException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
   }

   /**
      Saves the calculator history to a file.
   */
   public void save()
   {
      try 
      { 
         ByteArrayOutputStream out = 
            new ByteArrayOutputStream();
         PrintStream printOut = new PrintStream(out);
         printOut.print(panel.getText());
         InputStream data = new ByteArrayInputStream(
            out.toByteArray());                  
         FileSaveService service = (FileSaveService)
            ServiceManager.lookup(
               "javax.jnlp.FileSaveService"); 
         service.saveFileDialog(".", 
            new String[] { "txt" }, data, "calc.txt");
      } 
      catch (UnavailableServiceException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
      catch (IOException exception) 
      { 
         JOptionPane.showMessageDialog(this, exception);
      }
   }

   private CalculatorPanel panel;
}


/**
   A panel with calculator buttons and a result display.
*/



|
用jbuilder,里面有一种叫XYlayout的布局,用了这种布局,就可以象其他可视化编程环境一样把控件拖来拖去,拖到自己想要的地方了。
good luck

|
java技术教程(基础篇)

|
applet默认的布局方式是FlowLayout,就是从左到右,从上到下的布局

|
用jbuilder吧,改一下布局就行了,哪有那么麻烦!

|
java 程序设计百事通  张洪斌  写的   很简单  比较适合入门.

|
jbuilder

|
用jbuilder吧

|
顶一下!!!

    
 
 

您可能感兴趣的文章:

  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请问各位高手,Applet怎么编译,又怎么运行?
  • 请问applet高手
  • 我用JBuilder写了一个applet,在IE中能正常显示。奇怪的是我再给该applet加一个控件(awt的label),编译运行没有问题,可是在IE中没有显示后来加的那个label。请各位高手指教!!!
  • 高手请进!!!!关于Applet的问题!!!!
  • Applet和Application通讯有问题:高手请进
  • 有关java applet的绘图问题,请高手指点!!!!
  • 想问一下诸位高手我能用APPLET关闭整个IE吗?
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • [高手请进]为何解决applet 在 jre1.4上出现classnotfound的错误?
  • 请高手指教:java applet 怎样跟服务器交换数据?
  • 请问高手:我想用applet调用一个本地的exe。怎么办?
  • 各位高手:怎样用java applet 操纵DHTML ? 恳请指教,高分在所不惜,要多少加多少!!
  • 还是关于applet和servlet通信的问题!高手看过来!
  • APPLET连接数据库的问题,请高手指点
  • applet的权限问题,请高手帮忙
  • 高手!高分求助applet的部署!
  • 100分!·!高手请进--Applet怎么能在IE中显示调用的Access数据库?
  • 请问高手,用Swing做的APPLET,浏览器是否一定要安装Plug-in才能看见?
  • 請問哪位高手applet和數據庫互連能不能用jdbc-odbc橋?(在線等待)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:我想在applet中处理动画图像,能看见水在动的效果,谁有好的建议能给谈谈?来者有分!!!
  • java命名空间java.applet类applet的类成员方法: applet定义及介绍
  • 如何让Applet里的控件随着Applet大小改变而一直占满整个Applet呢?
  • java命名空间java.applet类applet.accessibleapplet的类成员方法: applet.accessibleapplet定义及介绍
  • 对applet坐数字签名后,如果重新用jar对applet打包,需要重新做applet数字签名吗?
  • java命名空间java.applet类applet的类成员方法: getappletcontext定义及介绍
  • 为什么我的applet编译完,之后除了applet1.class之外,还有一个applet$1.class?
  • java命名空间java.applet类applet的类成员方法: getappletinfo定义及介绍
  • 急,我想问一下调用一个对话框的命令语句,比方说我已建立了一个Applet2,接下来该如何在Applet1中点击一个按钮来打开这个Applet2.谢谢
  • java命名空间java.applet类applet的类成员方法: isactive定义及介绍
  • 如何让IE认识applet所带的数字签名,而不是让证书仓库认识这个带数字签名的applet,就是说不装jdk也可以在IE里面使用带有签名的applet,详情请进
  • java命名空间java.applet类applet的类成员方法: stop定义及介绍
  • 请问application (or applet)如何实现对applet 小程序的调用??
  • java.applet类applet的类成员方法: getcodebase定义及介绍
  • 请问能在浏览器调入APPLET后,在APPLET内部改变其自身的大小嘛?
  • java命名空间java.applet类applet的类成员方法: init定义及介绍
  • applet 如何启动新的 applet
  • java命名空间java.applet类applet的类成员方法: destroy定义及介绍
  • 如何把applet窗口里的Java Applet Window去掉?
  • java命名空间java.applet类applet的类成员方法: getparameterinfo定义及介绍
  • Applet对本地资源是不能访问的,那如果我要用Applet做打印设计,那如何是好呢??
  • java命名空间java.applet类applet的类成员方法: getdocumentbase定义及介绍
  • Applet问题,applet在tomcat+apache环境下是否支持FileDialog类,急,急 !!!!快来抢分呀!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3