我正在用Apache PDFBox编写一个简单的Java应用程序.我有几个PDF,其中最后一页是前几页中内容的索引.
我需要索引(最后一页)成为PDF文件的第一页.
可能吗?
我还发现http://itextpdf.com/库听起来比Apache PDFBox好,但在这种情况下我不知道我是否可以做我需要的东西
或者也许我可以使用这个:http://saaspose.com/docs/display/pdf/How+to+Move+Page+within+a+Pdf+Document+%28Java+SDK%29
在Java中是否可以从操作系统中复制文件并将其粘贴JTextField到复制文件的完整路径中?
例如,我的桌面上有文件"text.txt".
所以我复制它 RightClick -> Copy
在JFrame我的Java应用程序中,我专注于a JTextField和我用来CTRL+V 粘贴.然后应用程序应该将复制文件的完整路径粘贴到JTextField
我正在使用Netbeans Editor使用Java开发一个小的GUI应用程序.我在JFrame中添加了一个简单的进度条.我正在用JDK7开发这个项目
我想将背景颜色从默认橙色更改为个人颜色.我已经尝试了颜色变化的所有属性但是当我运行程序时颜色仍然相同.
我已经尝试过使用ProgressBar1.setBackground(new java.awt.Color(0,204,255));
和
UIManager.put("ProgressBar.background", Color.YELLOW);
UIManager.put("ProgressBar.foreground", Color.MAGENTA);
UIManager.put("ProgressBar.selectionBackground", Color.red);
UIManager.put("ProgressBar.selectionForeground", Color.green);
Run Code Online (Sandbox Code Playgroud)
相同的结果.....背景总是橙色
这是我的测试项目的代码
public class Frame extends javax.swing.JFrame
{
public Frame()
{
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jProgressBar1 = new javax.swing.JProgressBar();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jProgressBar1.setBackground(new java.awt.Color(0, 204, 255));
jProgressBar1.setValue(75);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
public static void …Run Code Online (Sandbox Code Playgroud) 我有这种意见
word w'ord wo'rd
Run Code Online (Sandbox Code Playgroud)
我需要在单词的开头和正确的'字符后面(可以多次存在)将两个字符转换为大写.
我需要的输出(使用前面的例子)是
word W'Ord Wo'Rd
Run Code Online (Sandbox Code Playgroud)
我尝试了一个简单的模式
s.replaceAll("(\\w)(\\w*)'(\\w)", "$1");
Run Code Online (Sandbox Code Playgroud)
但是我无法将第1组和第3组转换为大写
编辑:在我发现主要问题中的一个小错误后,我编辑了@Wiktor Stribizew代码,以便包括我错过的案例.
Matcher m = Pattern.compile("(\\w)(\\w*)'(\\w)").matcher(s);
StringBuffer result = new StringBuffer();
while (m.find()) {
m.appendReplacement(result, m.group(1).toUpperCase() + m.group(2) + "'" + m.group(3).toUpperCase());
}
m.appendTail(result);
s = result.toString();
Run Code Online (Sandbox Code Playgroud) 我有两个不同的 Google 电子表格:
一个有 4 列
+------+------+------+------+
| Col1 | Col2 | Col5 | Col6 |
+------+------+------+------+
| ID1 | A | B | C |
| ID2 | D | E | F |
+------+------+------+------+
Run Code Online (Sandbox Code Playgroud)
一个包含前一个文件的 4 列和另外 2 列
+------+------+------+------+------+------+
| Col1 | Col2 | Col3 | Col4 | Col5 | Col6 |
+------+------+------+------+------+------+
| ID3 | G | H | J | K | L |
| ID4 | M | N | O | P | …Run Code Online (Sandbox Code Playgroud) 我有一个表,其中有一列包含 json 对象,值类型始终是字符串。
我需要两种信息:
这是我到目前为止所得到的,正在发挥作用:
CREATE TEMP FUNCTION jsonObjectKeys(input STRING)
RETURNS Array<String>
LANGUAGE js AS """
return Object.keys(JSON.parse(input));
""";
CREATE TEMP FUNCTION jsonToKeyValueArray(input STRING)
RETURNS Array<Struct<key String, value String>>
LANGUAGE js AS """
let json = JSON.parse(input);
return Object.keys(json).map(e => {
return { "key" : e, "value" : json[e] }
});
""";
WITH input AS (
SELECT "{\"key1\": \"value1\", \"key2\": \"value2\"}" AS json_column
UNION ALL
SELECT "{\"key1\": \"value1\", \"key3\": \"value3\"}" AS json_column
UNION ALL
SELECT …Run Code Online (Sandbox Code Playgroud) 我有一个包含所有版本资源的 Google BigQuery 表。每次创建/更新/删除资源时,都会添加新行并增加版本号(此数字将是添加行时的时间戳)
+-------+------------+--------+-------+-------------+
| ID | ResourceID | Action | Count | Timestamp |
+-------+------------+--------+-------+-------------+
| ABC_1 | ABC | CREATE | 10 | {timestamp} |
| ABC_2 | ABC | UPDATE | 8 | {timestamp} |
| ABC_3 | ABC | UPDATE | 4 | {timestamp} |
| ABC_4 | ABC | DELETE | 4 | {timestamp} |
| - | | | | |
| DEF_1 | DEF | CREATE | 10 | {timestamp} |
| …Run Code Online (Sandbox Code Playgroud) 我可以从文档中看到,该文档DATETIME_ADD仅适用于INT64值,不适用于TIME对象。
我有一个DATETIME代表开始点,然后是TIME对象中的持续时间
WITH input AS (
SELECT
DATE(2018,03,05) AS start_date,
TIME(5,0,0) AS start_time,
TIME(8,0,0) AS duration
)
SELECT
*,
DATETIME(start_date,start_time) AS start_datetime,
DATETIME_ADD(
DATETIME_ADD(
DATETIME_ADD(
DATETIME(start_date,start_time),
INTERVAL EXTRACT(HOUR FROM duration) HOUR
),
INTERVAL EXTRACT(MINUTE FROM duration) MINUTE
),
INTERVAL EXTRACT(SECOND FROM duration) SECOND
) AS end_datetime
FROM input
Run Code Online (Sandbox Code Playgroud)
是否存在更好的方法将TIME对象的 3 个值(小时、分钟、秒)添加到给定DATETIME对象?
java ×4
swing ×2
apache ×1
apostrophe ×1
arrays ×1
colors ×1
java-7 ×1
jprogressbar ×1
json ×1
jtextfield ×1
nimbus ×1
pdf ×1
performance ×1
regex ×1
sql ×1
uppercase ×1
version ×1