小编And*_*Dev的帖子

iTextPdf:动态更改单元格宽度

我正在使用iTextPdf构建一个pdf表.每个页面上都有9到15列,确切的数字直到运行时才知道.iTextPDF非常适合在页面宽度上创建大小相同的列.但我无法弄清楚如何创建不同宽度的列.

我不能使用固定的列宽,因为我想跨越整个页面宽度.因此,当写入9列时,每列必须比写入12或15列时更宽.固定的是这些列宽度之间的关系.举个例子,我知道A列总是75%的列宽,它总是列C宽度的50%.我可以为每一列确定这个.

任何人对如何划分页面以正确调整这些列的大小有任何想法?这是我正在使用的一些代码,它们创建了相同大小的列.我最近还需要一些其他东西

cell.setColspan(1);

更改列的宽度,但不更改为固定值.谢谢!

public static void newPDF() throws DocumentException, IOException {
    PdfWriter writer;
    Document document;
    int cols = 9; //can be either 9, 12, or 15
    document = new Document();
    writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
    document.open();
    document.add(createTable(cols));
    document.close();
}

public static PdfPTable createTable(int cols) {
        PdfPTable table = new PdfPTable(cols);
        PdfPCell cell;

        for (int i = 0; i < cols; i++) {
            ph = selector.process("some text");
            cell = new PdfPCell(ph);
            cell.setColspan(1); //repeated 9, 12, or 15 times
            table.addCell(cell); …
Run Code Online (Sandbox Code Playgroud)

java itextpdf

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

Java Swing:将JLabel添加到JPanel

我只是想将JLabel添加到现有的JPanel中.这看起来很简单,我四处搜索.我认为这是对的,但标签没有出现在我的面板上.有谁看到我错过了什么?谢谢!

ResultsPanel myPanel = new ResultsPanel(pnlResults);  //pnlResults is an existing JPanel
myPanel.addLabel(pnlResults);

public class ResultsPanel extends JPanel {

    JPanel myPanel;

    public ResultsPanel(JPanel thisPanel) {
        myPanel = thisPanel;
    }

    public void addLabel(JPanel myResults) {
        JLabel myLabel = new JLabel("test", JLabel.LEFT);
        myPanel.setLayout(new FlowLayout());
        add(myLabel);        
    }

}
Run Code Online (Sandbox Code Playgroud)

编辑:回应下面的即时回复,我同意这似乎是完全矫枉过正.我沿着这条路走下去,因为下面的代码也没有导致JLabel被添加到我的JPanel中:

JLabel myLabel = new JLabel("test"); 
pnlResults.add(myLabel);
Run Code Online (Sandbox Code Playgroud)

我宁愿使用这个代码,所以如果你认为它更有可能工作(当然有一些修改),请随意评论.再次感谢!

java swing

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

用于字段中最大值的Android SQLite语法

尝试通过SQLite查询获取列中的最大值.从我正在阅读的所有内容中,我的代码应该可行.但事实并非如此.这是代码:

SQLiteDatabase db = myDBOpenHelper.getWritableDatabase(); 
Cursor cursor = db.rawQuery("SELECT MAX(GAME_COLUMN) FROM GAMES_TABLE", null);
Run Code Online (Sandbox Code Playgroud)

此时表格是空的,而不是我认为它应该重要.这是错误:

sqlite返回:错误代码= 1,msg =接近"null":语法错误

我必须写错了,但我没有看到错误.表和列名称是corectly输入的.有人能发现这个吗?

如果我忽略了一些愚蠢的东西,请提前道歉.对SQLite来说很新鲜.

谢谢!

sqlite android

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

检查JTextField字符

我有一个我为孩子们编写的程序来练习基本的算术.JFrame上有一个JTextField,其中学生键入给定数学问题的答案(如8 + 8,他们键入16,回车).此字段仅通过DocumentFilter接受整数值作为条目.

那部分工作正常.我想要做的是避免用户必须按Enter键.理想情况下,当用户键入第一个数字(1)时,检查是否1 == 16.如果不是,则没有任何反应.当他们随后键入6时,文本字段显示数字16.我想运行检查以验证16 == 16,然后处理该条目,就像用户也按Enter键一样.

txtAnswer.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {               
            int key = e.getKeyCode();
            if (key == KeyEvent.VK_ENTER) {
                respondToAnswer(isTimed);
            } else {
                /* Check if the correct answer has been entered */
                System.out.println(txtAnswer.getText());
                //int userAnswer = Integer.parseInt(txtAnswer.getText());
                //if (userAnswer == correctAnswer {
                //   respondToAnswer(isTimed);
                //}
            }
        };
    });
Run Code Online (Sandbox Code Playgroud)

这段代码不太合适.好像它背后是一个角色.我的意思是当用户点击'1'键时(在我的8 + 8 = 16示例中),控制台输出是一个空字符串.当他们点击'6'键时,输出为'1'.如果他们然后按下另一个整数键,则输出为"16".它总是落后一位数.因此,我无法捕获文本字段的全部内容以查看它是否与正确答案匹配.

有人看到我错过了吗?

谢谢!

java swing

3
推荐指数
2
解决办法
902
查看次数

提高优化级别g ++

我正在尝试使用cygwin和g ++编译一个相对简单的c ++程序.我可以使用以下命令编译它:

g++ -o main main.cpp -lgmpxx -lgmp

(注意:最后两个反映了gmp库的包含).

我想提高编译的优化级别.我以为我可以将此命令行更改为:

g++ -o3 main main.cpp -lgmpxx -lgmp

但这完全爆发了.我得到两个完整的错误消息屏幕.

如何在此处增加优化?谢谢!

c++ optimization cygwin g++

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

改变形状的背景色

我正在尝试更新我在工作表上的所有标签的背景颜色.我想用RGB值来表示颜色,但是我被困在两个地方.这是我现在的代码:

Sheet2.Shapes("Label 2").Fill.BackColor.RGB = RGB(220, 105, 0)
Run Code Online (Sandbox Code Playgroud)

此代码将运行没有错误,但似乎没有任何效果.我的标签开始是白色(或可能透明),永远不会改变.任何人都可以告诉我我需要做些什么来使这项工作?我也添加了这个,但它没有做任何事:

shp.Fill.Solid
Run Code Online (Sandbox Code Playgroud)

接下来,我想在变量中捕获此RGB值,以便我不必重复重新键入.基本上,我正在寻找这样的东西:

dim col as Color
col = RGB(220,105,0)
Sheet2.Shapes("Label 2").Fill.BackColor.RGB = col
Run Code Online (Sandbox Code Playgroud)

我知道没有名为Color的变量类型,但我认为你可以看到我想要做的事情.

excel vba backcolor excel-vba

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

AJAX/PHP回显闪烁正确的文本然后删除它

好的,这很奇怪.以下代码旨在为我开始介绍AJAX,我在文本输入中输入一些文本,单击一个提交按钮,然后将AJAX/PHP作为div中的文本回显.当我一次一行地执行这个代码时,我可以看到我的文本出现在我应该的行的div中.但是,当我跨过最后一个花括号时,文字消失了!怎么会这样??我不明白.有人可以帮忙吗?谢谢!

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>

<body>

    <script language="javascript" type="text/javascript">
    <!-- 
        window.onload = function ajaxFunction() {
            document.myform.onsubmit = getFeedback;
        }

        function getFeedback() {
            var textvalue = document.getElementById("textfield").value;
            var xmlhttp;
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            } else {  
                // code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    document.getElementById("feedback").innerHTML=textvalue;
                }
            }
            xmlhttp.open("GET","scripts/handle_feedback.php?mytext="+textvalue,true);
            //at this point in the execution, my text is displayed …
Run Code Online (Sandbox Code Playgroud)

javascript ajax

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

无法获得JSON输出

首先尝试使用JSON.我有一个返回JSON对象的ajax/php函数.回到js方面,我可以看到对象并将其输出到div.看起来很好.我可以把它打印到控制台,看起来还不错.但是当我尝试迭代它并公开各个值时,我只是在我的控制台中得到"未定义".我无法弄清楚我错过了什么.对不起它,如果是明显的东西,但我没有看到它.谢谢!

var jsonObj = JSON.parse(xmlhttp.responseText);
console.log(jsonObj);   //<--looks perfect
console.log(jsonObj.length);
document.getElementById("rightsidebox").innerHTML=response; //<--looks good
for (var group in jsonObj) {
    //each of these generates 'undefined' WHY???
    //I get 4 'undefined' outputs for each group, so I know that my loop is iterating correctly
    console.log(group.id);
    console.log(group.day);
    console.log(group.time);
    console.log(group.name);  
}
Run Code Online (Sandbox Code Playgroud)

编辑:这是我的ajax调用返回的一个JSON对象的示例.在这个例子中,我在数组中只有一个对象.当然,通常会有多个对象:

[{"id":"7","day":"Thursday","time":"7:00 am","name":"Sub 10:00"}]

编辑2:鉴于这个数组,我不得不问JSON的意义是什么.我可以返回这个数组而不用PHP以JSON格式编码它.所以,如果所有回来的只是一个javascript数组,那么我完成了什么?为什么不跳过PHP中的JSON编码然后迭代数组呢?显然这是有原因的,所以我显然错过了一些东西.有没有更好的方法来做我想要完成的事情?谢谢!

javascript json loops

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

MySQL内部联接查询语法错误

我是MySQL的新手,无法弄清楚这里出了什么问题。我有两张桌子。左表称为“锻炼”。相关列是date(类型日期)和id(类型int)。

右边的表格称为Workout_locations(相关字段:)workout_id type int, and location_id type int

连接字段是Workouts.idWorkout_locations.workout_id

我要做的就是得到一个两列的表:(date来自“锻炼”)和location_id(来自Workout_locations)。我只需要Workouts基于几个字段就可以从表中提取记录(sql语句应清楚表明这一点)。

这是我的SQL语法:

SELECT Workouts.date as date, Workout_locations.location_id as loc_id
FROM Workouts 
WHERE Workouts.pacegroup_id='9' AND (Workouts.date BETWEEN '2013-08-19' AND '2013-08-25') 
INNER JOIN Workout_locations ON Workouts.id=Workout_locations.workout_id"
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:

您的SQL语法有误;在第1行的“ INNER JOIN Workout_locations ON Workouts.id = Workout_locations.workout_id”附近,查看与您的MySQL服务器版本相对应的手册以使用正确的语法。

我希望对于有经验的人来说,这是一个非常容易发现的错误。有人看到吗?谢谢!

mysql

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

Java 中的 RSA 加密/PHP 中的解密失败

我有一个 PHP 脚本,我一直在使用它来解密我从 iOS 加密的会话密钥。加密是在客户端使用 1024 位公钥完成的。服务器端的解密是用相应的私钥完成的。现在我正在尝试为Android编写一个加密方法。不幸的是,解密仍然失败,我看不出出了什么问题。

这是Android代码:

public String encryptSessionKeyWithPublicKey(String pemString, byte[] sessionKey) {
    try {
        PublicKey publicKey = getPublicKeyFromPemFormat(pemString);
        Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1PADDING");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        byte[] cipherData = cipher.doFinal(sessionKey);
        return Base64.encodeToString(cipherData, Base64.DEFAULT);
    } catch (IOException ioException) {
        Log.e(TAG, "ioException");
    } catch (NoSuchAlgorithmException exNoSuchAlg) {
        Log.e(TAG, "NoSuchAlgorithmException");
    } catch (InvalidKeySpecException exInvalidKeySpec) {
        Log.e(TAG, "InvalidKeySpecException");
    } catch (NoSuchPaddingException exNoSuchPadding) {
        Log.e(TAG, "NoSuchPaddingException");
    } catch (InvalidKeyException exInvalidKey) {
        Log.e(TAG, "InvalidKeyException");
    } catch (IllegalBlockSizeException exIllBlockSize) {
        Log.e(TAG, "IllegalBlockSizeException");
    } catch (BadPaddingException exBadPadding) …
Run Code Online (Sandbox Code Playgroud)

php java android cryptography rsa

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

标签 统计

java ×4

android ×2

javascript ×2

swing ×2

ajax ×1

backcolor ×1

c++ ×1

cryptography ×1

cygwin ×1

excel ×1

excel-vba ×1

g++ ×1

itextpdf ×1

json ×1

loops ×1

mysql ×1

optimization ×1

php ×1

rsa ×1

sqlite ×1

vba ×1