小编arc*_*rcy的帖子

想要一个JLabel带有透明背景的图像

我将此图标用于JTable的自定义渲染器中的JLabel。选择表中的行后,图标背景显示为白色。

我使用paint.net创建了一个绿色三角形,并将其背景设置为白色,alpha值为255。这就是我在此代码中使用的图像,用于为JLabel创建一个IconImage。由于外部原因,我对图标使用了不同的宽度。这是一个示例程序,显示完成的操作:

package spacecheck.images;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * represents an icon used in the directory tree; handles 'expanded' and
 * 'unexpanded' directories as well as indentation representing different
 * levels.
 * @author rcook
 *
 */
public class TreeIconExample
{
  public static int UNEXPANDED = 1;
  public static int EXPANDED = 2;

  @SuppressWarnings({"unused"})
  private void say (String msg) { System.out.println(msg); }

  private static ImageIcon expandedIcon = null; …
Run Code Online (Sandbox Code Playgroud)

java icons swing image

3
推荐指数
1
解决办法
8506
查看次数

哪个cacert正在使用?

我有一个来自供应商的示例命令行java应用程序; 它取决于SSL身份验证.我有供应商的证书,我可以在我的java 7 cacerts文件中看到它们(windows,c:\ program files\java\jdk1.7.0_07\jre\lib\security\cacerts).如果我打开java 8 cacerts文件,它们就不存在了(c:\ program files\java\jre1.8.0_66\lib\security\cacerts)

如果我设置一个路径,以便java 8是第一个,程序就可以工作.如果我更改路径以便首先使用java 7,则程序将失败并出现认证错误:

C:\project\tryCerts\Demo2>path=c:\program files\java\jdk1.7.0_07\bin;c:\program files\java\jre1.8.0_66\bin


C:\project\tryCerts\Demo2>java -jar vendorCmd.jar user1 password2 environment3
Dec 22, 2015 11:11:35 AM [com.sun.xml.ws.policy.jaxws.PolicyConfigParser]  parse
INFO: WSP5018: Loaded WSIT configuration from file: jar:file:/C:/project/tryCerts/Demo2/vendorCmd/dist/vendorCmd.jar!/META-INF/wsit-client.xml.
Unable to log in: com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.Va
lidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to re
quested target

C:\project\tryCerts\Demo2>path=c:\program files\java\jre1.8.0_66\bin;c:\program files\java\jdk1.7.0_07\bin

C:\project\tryCerts\Demo2>java -jar vendorCmd.jar acc03\acc03_ws_user accwbS3rv!ceS acc03_p_production
Dec 22, 2015 11:21:34 AM [com.sun.xml.ws.policy.jaxws.PolicyConfigParser]  parse
INFO: …
Run Code Online (Sandbox Code Playgroud)

java ssl certificate certificate-store

3
推荐指数
1
解决办法
3792
查看次数

Netbeans错误:再次找不到或加载主类

我在Java方面很有经验,但在Netbeans中却没有。我有一个正在从事的项目,一个针对特定问题的小测试程序,因此,我一直在对其进行更改并运行,并每天数天,数周对其进行调试。昨天,Netbeans放弃了以我以前运行的方式运行它,而且似乎无法重新启动它。

当我运行项目时,整个输出是:

run: Error: Could not find or load main class 

C:\Users\rcook\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1 
BUILD FAILED (total time: 0 seconds)
Run Code Online (Sandbox Code Playgroud)

我要注意的是,类名不会出现在第一行是值得的,就像其他人遇到“找不到”错误一样。

无论运行项目(选择项目并按F6)还是文件(选择文件并按Control-F6),都会发生这种情况。我已经清理并重建了该项目(以前从未做过,我想知道它是否引起了问题)。我已经重新启动了Netbeans。我已经重新启动(Win7)计算机。除了Outlook,我没有运行任何占用内存的程序,而Outlook在整个工作过程中一直在运行。

通过将默认目录设置为项目下的“ classes”目录,然后输入,可以从命令行运行程序java stsclientexample3.STSClientExample3

我已经多次检查“运行”配置-没有输入程序或VM选项,它具有正确的类名。奇怪的是,如果我将类名更改为不存在的名称,Netbeans将显示一个弹出窗口,提示在项目中找不到无效的名称类,并列出可用的主要类。但是,当我这样做并选择要运行的程序时,会出现相同的“找不到”错误。在项目中还有另一个主类,如果我选择的话,它将给出相同的“找不到”错误。

我已经查看了消息中引用的XML文件,但是它充满了我不知道解析度的$ {parameter}引用。例如,了解Netbeans如何解析“ $ {classname}”,或者以某种方式转储Netbeans的值,可能会有所帮助。

我已注释掉代码并重新运行。结果相同。

我已经从运行配置中删除了该类,重新启动了Netbeans,然后又添加了该类。结果相同。

到目前为止,我已经在SO和其他地方阅读了十几个类似错误的查询。我尝试了所有可能的事情(跳过为特殊用途的库进行配置之类的事情)。

有人知道怎么修这个东西吗?


编辑:在有人问之前,另一个项目main()使用“运行项目”选项运行。

EDIT2:我也忘记提及,另一篇文章建议删除Netbeans缓存(c:\ Users \\ AppData \ Local \ NetBeans \ Cache),因此我关闭了NetBeans,删除了该目录中的所有内容,然后重新启动了NetBeans。 。结果相同。

java netbeans

3
推荐指数
1
解决办法
1万
查看次数

iText 2.1.7 PdfCopy.addPage(page) 找不到页面引用?

我正在维护一个使用 iText 2.1.7 创建 PDF 的 Web 应用程序。我想获取现有 PDF 的内容并将其放入代码正在创建的 pdf 文档中。我有以下内容(编辑:更完整的代码):

package itexttest;

import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfWriter;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;

public class ITextTest 
{
    public static void main(String[] args) 
    {
        try
        {
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            Document bigDoc = new Document(PageSize.LETTER, 50, 50, 110, 60);
            PdfWriter writer = PdfWriter.getInstance(bigDoc, os);
            bigDoc.open();

            Paragraph par = new Paragraph("one");
            bigDoc.add(par);
            bigDoc.add(new Paragraph("three"));

            addPdfPage(bigDoc, os, "c:/insertable.pdf");

            bigDoc.close();
        }
        catch (Exception e) …
Run Code Online (Sandbox Code Playgroud)

java pdf itext

3
推荐指数
1
解决办法
4131
查看次数

如何在BorderLayout的CENTER中使用JScrollpane

我有以下代码:

    package example;

    import java.awt.BorderLayout;
    import java.awt.FlowLayout;

    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;

    public class ScrollingExample extends JFrame
    {
        private static final long serialVersionUID = 1L;

        public static void main(String[] args)
        {
            ScrollingExample scrollingExample = new ScrollingExample();
            scrollingExample.go();
        }

        private void go()
        {
            JPanel topPanel = new JPanel();
            topPanel.add(new JLabel("boo"));

            JPanel mainPanel = new JPanel();
            JPanel mainInnerPanel = makeMainInnerPanel();

            JScrollPane scrollPane = new JScrollPane(mainInnerPanel);
            mainPanel.add(scrollPane);
            add(topPanel, BorderLayout.NORTH);
            add(mainPanel, BorderLayout.CENTER);

            pack();
            setVisible(true);
        }

        private JPanel makeMainInnerPanel()
        {
            JPanel row1 …
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane

2
推荐指数
1
解决办法
6804
查看次数

AffineTransform.rotate() - 如何同时缩放、旋转和缩放?

我有以下代码,它可以完成我想要绘制一个上面有一些棋子的棋盘的(第一部分)。

              Image pieceImage = getImage(currentPiece);
              int pieceHeight = pieceImage.getHeight(null);
              double scale = (double)side/(double)pieceHeight;
              AffineTransform transform = new AffineTransform();
              transform.setToTranslation(xPos, yPos);
              transform.scale(scale, scale);
              realGraphics.drawImage(pieceImage, transform, this);
Run Code Online (Sandbox Code Playgroud)

也就是说,它获取棋子的图像和图像的高度,将该图像的绘图转换为棋子所在的正方形,并将图像缩放到正方形的大小。

假设我想将黑色块旋转 180 度。我希望在某个地方有类似的东西:

transform.rotate(Math.toRadians(180) /* ?, ? */);
Run Code Online (Sandbox Code Playgroud)

但我不知道要输入什么作为 X 和 Y。如果我什么都不输入,图像会很好地围绕棋盘方格的 0,0 点旋转,将棋子倒置在方格的东北方。应该是这样。我猜测过 x,y 的各种其他组合,但还没有运气。

我已经在使用翻译将片段放在正确的正方形中,旋转变换需要另一个 x,y 来围绕它旋转事物,但我不知道如何告诉变换将片段围绕一个 x,y 旋转并写入图像到不同的 x,y。有人可以帮助我设置旋转参数,或者向我指出一些可以解释这些东西如何工作的东西吗?我发现了一些无法解释它们如何工作的例子,到目前为止我还没有弄清楚如何根据我的情况改变它们......


主要编辑:添加工作代码。抱歉,我不知道如何发布图片,请替换为您自己的图片。

当我运行以下命令时,我得到一个 2x2 的棋盘,左上角有一个车,右下角有一个马。

如果我进入 SmallChessboardComponent 并从第一个旋转变换语句中去掉注释分隔符,我会将车颠倒在原来的位置,并且马不会出现。如果我注释分隔符从第二个转换语句中删除,则任何一个片段都不会出现。

我正在寻找一种方法,将这些碎片翻转到它们无论如何都会出现的正方形上。我想把每一块都画到板上;我不想要翻转棋盘的代码。

主要程序:

package main;

import java.awt.BorderLayout;

import javax.swing.JFrame;

import directredraw.SmallChessboardComponent;

public class SmallChessboardMain
{
  private static void dbg (String message) { System.out.println(message); } …
Run Code Online (Sandbox Code Playgroud)

java graphics awt image-rotation affinetransform

2
推荐指数
1
解决办法
1万
查看次数

从 Netbeans/Maven 项目创建桌面 jar

我有一个用 Java 编写的小实用程序,用 Netbeans 作为“Maven 项目”编写(项目上的小图标上有风格化的“m”)。我想将此实用程序及其依赖的库打包为 jar 文件;我希望 jar 文件包含必要的运行时库,因此我不必单独打包它们。

Netbeans 说明说,当我运行构建时,我将在项目目录下创建“dist”和“lib”目录,并且(因为我已经在项目属性中设置了主类),我将有它在我的清单文件中指定。这一切都没有发生;该项目在 IDE 下构建和运行良好,但它创建了一个 jar,其中仅包含实用程序特定的类,没有库类,清单没有写入我的主类,并且库类不在 jar 中。

是因为这是一个 Maven 项目而不是默认的 Netbeans Java 项目吗?如何使用 Netbeans 中的 Maven 项目完成此操作?

——

按照建议添加 maven-assembly-plugin 后,“clean and build”的控制台输出如下所示:

cd C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.7.0_07" M2_HOME=C:\\devTools\\apache-maven cmd /c "\"\"C:\\devTools\\apache-maven\\bin\\mvn.bat\" -DskipTests=true
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.1\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 clean install\"" Scanning for projects...

------------------------------------------------------------------------ Building OlbUserLoad 1.0-SNAPSHOT
------------------------------------------------------------------------

--- maven-clean-plugin:2.4.1:clean (default-clean) @ OlbUserLoad --- Deleting C:\Users\rcook\Documents\NetBeansProjects\OlbUserLoad\target

--- maven-resources-plugin:2.5:resources (default-resources) @ OlbUserLoad --- [debug] execute contextualize Using 'UTF-8' encoding to copy filtered resources. …
Run Code Online (Sandbox Code Playgroud)

java netbeans maven

0
推荐指数
1
解决办法
4413
查看次数

PHP新手 - 重新开启register_globals

我正在使用基于OSCommerce的现有网站.当我尝试在本地访问我的工作副本时,它会显示一条消息,指出PHP.ini已关闭注册全局变量并且需要打开它们.我已经读过默认值已经改变,并了解其背后的原因,但是现在我希望无需安装旧的PHP版本即可实现.

我想我可以通过在php.ini中添加以下行来重新打开register_globals:

register_globals = On
Run Code Online (Sandbox Code Playgroud)

但该网站仍然告诉我register_globals已关闭.

我重新启动了Apache; 这没有帮助.我尝试过

<? echo get_ini('register_globals'); ?>
Run Code Online (Sandbox Code Playgroud)

到页面上; 它没有显示任何东西.(我不确定这是正确的说法.)

我需要做什么才能启用register_globals,和/或如何回显这样的设置,以便我可以告诉它们是什么?

php

-1
推荐指数
1
解决办法
94
查看次数