我正在尝试将BouncyCastle添加为Windows XP Pro上的安全提供程序,因此我可以使用它根据此处的说明向Android应用程序添加一些证书.不幸的是我不能让它添加提供者.
我有:
C:\Program Files\Java\jre6\lib\ext\.C:\Program Files\Java\jre6\lib\ext\bcprov-jdk16-146.jar到%CLASSPATH%.security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider到java.security(7是顺序中的下一个int).当我跑:
keytool -import -v -trustcacerts -alias 0 -file mycert.crt -keystore mystore.bks -storetype BKS -providerName org.bouncycastle.jce.provider.BouncyCastleProvider -storepass mypassword
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
keytool error: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
Run Code Online (Sandbox Code Playgroud)
我也试过动态添加它:
import java.security.Provider;
import java.security.Security;
import java.util.Enumeration;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
public class BouncyCastleMain {
public static void main(String[] args) throws Exception {
Security.addProvider(new BouncyCastleProvider()); // add it
try { // list them out
Provider p[] = Security.getProviders();
for (int i …Run Code Online (Sandbox Code Playgroud) 我使用Java POI 3.7创建了一个简单的docx-Document.XWPF.然后,我使用方法添加了一张图片 XWPFDocument.addpicture(byte[] arg0, int arg1).
XWPFDocument docx = new XWPFDocument();
XWPFParagraph par = docx.createParagraph();
XWPFRun run = par.createRun();
run.setText("Hello, World. This is my first java generated docx-file. Have fun.");
run.setFontSize(13);
InputStream pic = new FileInputStream("logo.jpg");
byte [] picbytes = IOUtils.toByteArray(pic);
docx.addPicture(picbytes, Document.PICTURE_TYPE_JPEG);
Run Code Online (Sandbox Code Playgroud)
由于docx的文件大小增加,图片被"物理地"添加到文档中; 但它在MS Word中根本不显示.似乎有一个参考文件中缺少的图片.
这样做的方法是什么?如何用apache POI完成图片处理?Web上有更多教程,XWPF几乎没有任何文档或教程,它解释了段落,运行等的处理.
我在这里找到的唯一一件事就是:https://issues.apache.org/bugzilla/show_bug.cgi?id = 49765,但它根本没用.
提前谢谢了.
我想要一个excel函数,我可以调用并传递一个单元格.输入:
Firstname Lastname email@mail.com
Firstname midname Lastname email@mail.com
Run Code Online (Sandbox Code Playgroud)
中间的空格数是随机的.输出应该只是一个数组.数组可以有任何长度,因为我不知道字符串是什么样的.输出应该是:
Firstname, Lastname, email@mail.com
Firstname, midname, Lastname, email@mail.com
Run Code Online (Sandbox Code Playgroud)
我将从一个单元格中调用该函数=MySplitFunction(A1),这应该将Firstname放在A1中,Lastname放在B1中,将email@mail.com放在C1中.我创建了一个新模块并尝试了以下代码:
Function MySplitFunction(s As String) As String()
MySplitFunction = Split(s, " ")
End Function
Run Code Online (Sandbox Code Playgroud)
这给了我输出
Firstname
Run Code Online (Sandbox Code Playgroud)
我如何让它返回整个阵列?甚至可以在一个单元格中编写一个函数,将函数放在靠近它的单元格中?
编辑:

对于我的布局我希望有双边框,在我的JPanel的底部,一个应该稍暗,另一个应该稍微更轻.
目前我有1个边框:
JPanel pnlTop = new JPanel(new BorderLayout()) {
protected void paintComponent(Graphics grphcs) {
super.paintComponent(grphcs);
Graphics2D g2d = (Graphics2D) grphcs;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
GradientPaint gp = new GradientPaint(0, 0,
new java.awt.Color(237, 237, 237), 0, getHeight(),
new java.awt.Color(222, 222, 222));
g2d.setPaint(gp);
g2d.fillRect(0, 0, getWidth(), getHeight());
}
};
pnlTop.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, new java.awt.Color(173, 173, 166)));
pnlTop.setPreferredSize(new Dimension(2000, 90));
add(pnlTop, BorderLayout.PAGE_START);
Run Code Online (Sandbox Code Playgroud)
我怎么能在我已经拥有的那个下面添加另一个边框?这可能吗?
我有小代码,我必须添加条件以获得正确的输出.
如果mimeList中的元素是Last,则转到else部分.或者if.
此ArrayList中始终有1个元素.
(如果它只有一个元素,则表示它是最后一个元素.)
for (int i = 0; i < mimeList.size(); i++) {
StringBuffer sb = new StringBuffer();
if () {
queryString = sb.append(queryString).append(key)
.append("=").append(mimeList.get(i)).append(" or ").toString();
}else{
queryString = sb.append(queryString).append(key)
.append("=").append(mimeList.get(i)).toString();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用java 解决Project Euler Problem 14.我不是要求帮助解决问题.我已经解决了,但我遇到了一些我无法弄清楚的事情.
问题是这样的:
为正整数集定义以下迭代序列:
n = n/2,如果n是
n = 3n + 1,如果n是奇数使用上面的规则并从13开始,我们生成以下序列:
13 - > 40 - > 20 - > 10 - > 5 - > 16 - > 8 - > 4 - > 2 - > 1.这里,链的长度是10个数.
找到产生最长链的1,000,000以下的起始编号.
所以我写了这段代码:
public class Euler014 {
public static void main(String[] args){
int maxChainCount = 0;
int answer = 0;
int n;
int chainCount = 1;
for(int i = 0; i < 1000000; i++){
n = …Run Code Online (Sandbox Code Playgroud) 我正在尝试布局组件,并希望以特定方式设置宽度.根据我的理解,miglayout设置宽度,如"width min:pref:max".所以在我的情况下,我想要以下内容:

我的问题是comp2.它在大约200px后停止增长,我无法弄清楚为什么,因为我没有指定最大宽度.
我还检查了miglayout swing演示,但他们没有我的确切案例.它们的宽度不受限制,但不是指定的最小宽度.
为了确保面板扩展,我将面板的背景设置为灰色,我可以看到它扩展没有任何问题.
请告诉我是否需要澄清任何事情,我很乐意尝试更好地解释.
编辑:这是一个SSCCE
import java.awt.Color;
import javax.swing.*;
import net.miginfocom.swing.MigLayout;
public class SSCCE {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel(new MigLayout(
"",
"[grow, fill]",
""));
panel.setBackground(Color.LIGHT_GRAY);
JButton comp1 = new JButton("Comp1");
JButton comp2 = new JButton("Comp2");
JButton comp3 = new JButton("Comp3");
panel.add(comp1, "width 50:150:150, growx");
panel.add(comp2, "growx");
panel.add(comp3, "width 50:70:70, growx");
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我确实在成长,但我希望它能占用所有可用空间,但事实并非如此.它可以与面板上的设置有关吗?
编辑2:使用此代码:
panel.add(comp1, "width 50:150:150");
panel.add(comp2, "width 10:n:n");
panel.add(comp3, "width …Run Code Online (Sandbox Code Playgroud) Langton蚂蚁的问题很简单.一只蚂蚁走在白板和黑色方块的板上.
当"游戏"开始时,棋盘全是白色的.
我已经实施了模拟但是有一个非常丑陋的步行和转弯解决方案,我需要帮助改进.现在步行如下:
if (dir == "NORTH") {
// Walk up
} else if (dir == "EAST") {
// Walk right
} else if (dir == "SOUTH") {
// Walk down
} else if (dir == "WEST") {
// Walk left
}
Run Code Online (Sandbox Code Playgroud)
以及改变方向的功能:
private void turn(String leftOrRight){
if(dir == "NORTH" && lor == "RIGHT" ){
dir = "EAST";
} else if (dir == "NORTH" && leftOrRight == "LEFT" ){
dir = "WEST";
} else if (dir == …Run Code Online (Sandbox Code Playgroud) 我正在研究一个"类似绘画"的应用程序(一个小绘图软件)来熟悉Java 2D组件.这是我的问题:我有一个JFrame,其ContentPane是继承自JPanel的类的实例.我想将背景颜色设置为白色,但它保持默认颜色... ContentPane对应的类名是Container.这是一个简化的代码:
public class Container extends JPanel {
public Container() {
super();
this.setBackground(Color.WHITE);
}
}
Run Code Online (Sandbox Code Playgroud)
JFrame构造函数包含以下行:
this.setContentPane(mainContainer);
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
谢谢.
我有两种类型的列表:
ArrayList<String> sList;
ArrayList<Resource rList;
Run Code Online (Sandbox Code Playgroud)
我可以.getName()在资源对象上调用一个方法.
我想通过调用printList(list)这样的方法打印出这些列表中的任何一个:
printList(sList);
printList(rList);
Run Code Online (Sandbox Code Playgroud)
他们的代码看起来像这样:
private static void printList(ArrayList<String> list){
for(String s : list){
System.out.println(s + ", ");
}
}
private static void printList(ArrayList<Resource> list){
for(Resource r : list){
System.out.println(r.getName() + ", ");
}
}
Run Code Online (Sandbox Code Playgroud)
我没有任何特别的使用理由private static,它恰好是因为eclipse建议它.
但是,代码不起作用.Eclipse给出了以下错误:
"方法printList(ArrayList)具有与GUI类型中的另一种方法相同的擦除printList(ArrayList)"
GUI是我的班级.怎么了?
编辑:是否有任何替代或解决方案来获得我想要的功能?