我将此图标用于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应用程序; 它取决于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方面很有经验,但在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。 。结果相同。
我正在维护一个使用 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) 我有以下代码:
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) 我有以下代码,它可以完成我想要绘制一个上面有一些棋子的棋盘的(第一部分)。
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 编写的小实用程序,用 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) 我正在使用基于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,和/或如何回显这样的设置,以便我可以告诉它们是什么?