如何绘制不同颜色的多行并撤消,重做android中的路径?

我想在视图上用不同的颜色绘制多条线并撤消,重做android中的路径。 我使用位图绘制选项,每个路径都有一个独特的颜色但撤消,重做不起作用.. 这是我的bitmappaint代码: public MyView(Context context, Object object) { super(context); setFocusable(true); setFocusableInTouchMode(true); mPath = new Path(); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setColor(0xFFFFFF00); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(3); mBitmap = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888); mCanvas = new Canvas(mBitmap); } protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); } protected void onDraw(Canvas […]

JTree有不同颜色的树线?

是否有可能在两个兄弟节点之间有不同的彩色树线? 我想通过连接它们的蓝线来显示这两个节点是链接的。 但是整个JTree默认颜色是灰色或黑色的角度线。 某些节点之间可能有部分不同的彩色线条吗?

如何使BoxLayout表现为垂直FlowLayout?

FlowLayout从右侧执行“压力”,因此所有组件都试图采用其最小宽度。 相反, BoxLayout尝试传播所有组件以填充整个空间高度。 我可以添加一些填充物作为最后一个组件或者某些东西,以使所有组件在BoxLayout具有最小高度吗?

使用deflater对字符串进行压缩/解压缩

我想压缩/解压缩和序列化/反序列化String内容。 我正在使用以下两个静态函数。 /** * Compress data based on the {@link Deflater}. * * @param pToCompress * input byte-array * @return compressed byte-array * @throws NullPointerException * if {@code pToCompress} is {@code null} */ public static byte[] compress(@Nonnull final byte[] pToCompress) { checkNotNull(pToCompress); // Compressed result. byte[] compressed = new byte[] {}; // Create the compressor. […]

在Java上拆分字符串“;”,而不是“\\;”

在Java中我尝试使用String.split()方法在”;”上拆分字符串 ,但不是”\\\\;” 。 (2个反斜杠后跟分号) 例如: “aa;bb;cc\\;dd;ee\\;;ff”应分成; aa bb cc\\;dd ee\\; ff 如何使用正则表达式完成此操作? 马库斯

如何配置环境以使用JavaMail?

我需要用JavaMail发送简单的html消息。 当我试图在互联网上找到一些有解释的好例子时,每个下一个例子都让我更生气和愤怒。 所有这些愚蠢的例子都包含复制和粘贴的Java代码,这些代码仅在注释和一个不错的免责声明中有所不同,首先你应该配置你的smtp和pop3服务器。 我知道没有人想为某些具体产品做广告,但配置服务器是最难的部分。 那么,任何人都可以给我一些关于配置具体服务器(例如Kerio,或任何其他服务器)的非常有用的信息(没有java代码)吗? 我现在拥有的是下一个例外: 250 2.0.0 Reset state javax.mail.SendFailedException: Invalid Addresses; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Relaying to denied (authentication required) UPD。 所有以前的文本的简单重新构造是:想象你有Windows,jdk,没有别的。 你想制作java程序并在你的机器上运行它。 而这个程序应该发送“Hello world!” 到你的Gmail帐户。 列出你的步骤。 UPD2。 这是代码: Properties props = new Properties (); props.setProperty (“mail.transport.protocol”, “smtp”); props.setProperty (“mail.host”, “smtp.gmail.com”); props.setProperty (“mail.user”, “my_real_address_1@gmail.com”); props.setProperty (“mail.password”, “password_from_email_above”); Session mailSession = Session.getDefaultInstance […]

尝试在空对象引用上调用虚方法’int java.lang.String.length()’

所以我有带有Tabs和RecyclerView Android应用程序。 当我运行我的应用程序时,它崩溃了。 logcat的: java.lang.NullPointerException: Attempt to invoke virtual method ‘int java.lang.String.length()’ on a null object reference at java.io.StringReader.(StringReader.java:47) at android.text.HtmlToSpannedConverter.convert(Html.java:442) at android.text.Html.fromHtml(Html.java:136) at android.text.Html.fromHtml(Html.java:99) at com.example.app.MyRecyclerViewAdapter2.onBindViewHolder(MyRecyclerViewAdapter2.java:80) at com.example.app.MyRecyclerViewAdapter2.onBindViewHolder(MyRecyclerViewAdapter2.java:17) … 在com.example.app.MyRecyclerViewAdapter2.onBindViewHolder(MyRecyclerViewAdapter2.java:80) 它指向代码的这一行 listRowViewHolder.postId.setText(Html.fromHtml(listItems.getPostId())); // This line of code leads to crashing of app 如果我删除此行,我的应用程序将正常工作。 MyRecyclerViewAdapter2.java: package com.example.app; import android.content.Context; import android.content.Intent; import android.support.v7.widget.RecyclerView; import android.text.Html; […]

Android打开下载的文件

我有一个关于下载pdf文件并使用手机上安装的pdf阅读器应用程序打开它的问题。 我是初学者并且正在努力工作,但却陷入了困境。 所以我现在拥有的:我有一个活动,现在开始下载一个pdf文件并尝试打开是有意图的。 现在一切都是静态的,这就是为什么我有一个设置url。 private void DownloadFile(){ DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); Uri Download_Uri = Uri.parse(“http://awebiste.adomain/afile.pdf”); DownloadManager.Request request = new DownloadManager.Request(Download_Uri); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE); request.setAllowedOverRoaming(false); request.setTitle(“My Data Download”); request.setDescription(“Android Data download using DownloadManager.”); request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS,”test.pdf”); Long downloadReference = downloadManager.enqueue(request); if (downloadReference != null){ Intent target = new Intent(Intent.ACTION_VIEW); target.setDataAndType(Uri.parse(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + “/test.pdf”), “application/pdf”); target.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); Log.v(“OPEN_FILE_PATH”, getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + “/test.pdf”); […]

响应返回给客户端后清理

语境: 我有一个用于下载zip存档的端点。 @GetMapping public DeferredResult download(/**params**/) { } 由于文件和文件大小的数量,将所有文件保存在内存中是不可能的(即我必须从外部服务中读取文件块,将它们存储到临时目录,创建zip存档,以块的forms写入文件zip,在归档完成后删除所有临时文件 – 此时我只留下磁盘上的存档 – 然后将zip流回客户端)。 我已经设法实现了这个function,但我不确定哪个是请求后清理的最佳方法(请注意,该服务由多个客户端使用 – 因此多个下载应该能够同时进行)。 目前,我正在使用HandlerInterceptor ,它在preHandle方法中为归档生成一个随机名称,并将其作为请求属性传递。 请求属性将传递给生成存档的服务,并用作存档名称。 然后,在拦截器的afterCompletion方法中,我从请求属性中读取存档名称并删除存档。 class ZipInterceptor implements HandlerInterceptor { public static final String ZIP_ATTRIBUTE_NAME = “zipName”; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if(isApplicable(request)){ request.setAttribute(ZIP_ATTRIBUTE_NAME, generateZipName()); } return true; } @Override public void postHandle(HttpServletRequest […]

validation失败后移动文件(Java)

我们正在validationXML文件,根据validation结果,我们必须将文件移动到不同的文件夹中。 当XML有效时,validation器返回一个值,我们可以毫无问题地移动文件。 当XML根据模式无效时,也会发生同样的事情。 但是,如果XML格式不正确,validation器会抛出exception,当我们尝试移动文件时,它会失败。 我们相信在某个地方仍然有一个句柄可以保存文件。 我们尝试在移动文件之前放置System.gc()并对问题进行排序,但我们不能将System.gc()作为解决方案。 代码看起来像这样。 我们有一个File对象,我们从中创建一个StreamSource。 然后将StreamSource传递给validation器。 当XML格式不正确时,它会抛出SAXException。 在exception处理中,我们使用.renameTo()方法来移动文件。 sc = new StreamSource(xmlFile); validator.validate(sc); 我们尝试过捕获 validator.reset(); validator=null; sc=null; 但仍然.renameTo()无法移动文件。 如果我们将System.gc()放入catch中,那么移动将成功。 有人可以告诉我如何在没有System.gc()?情况下对其进行排序System.gc()? 我们使用JAXP和saxon-9.1.0.8作为解析器。 非常感谢