“缩放”后的JScrollPane setViewPosition

我这里的代码是使用MouseAdapter来监听用户在他们想要放大的图像区域周围“绘制”一个框,并计算框与图像的比例。 然后它将图像调整为计算的比例。 这部分有效。 我遇到的问题是,在调整图像大小后,JScrollPane视图看起来好像仍处于同一个左上角位置。 我已经尝试了几种方法似乎已经接近我想要的结果但不完全正确。 这是侦听器,它找到比例并设置位置: import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.Graphics; import java.awt.Point; import javax.swing.JScrollPane; import javax.swing.JViewport; import javax.swing.JComponent; public class DynamicZoom extends MouseAdapter { private Point start; private Point end; private double zoom = 1.0; private JScrollPane pane; private JViewport port; public void mousePressed(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON1) { this.pane = (JScrollPane)e.getSource(); […]

Android Place Picker不会返回活动状态

我在我的应用中实现了PlacePicker 。 我有一个自定义对话框,其中包含一个寻呼机(如2个标签)。 第二个寻呼机项目有一个EditText组件。 接触到这一点,我打开了placepicker。 问题是按下PlacePicker ,关闭应用程序而不是从它开始的地方返回活动。 这是PlacePicker启动的代码 public void showPlacePicker() { try { PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); startActivityForResult(builder.build(OrganizerMainActivity.this), PLACE_PICKER_REQUEST); } catch (GooglePlayServicesNotAvailableException e) { GoogleApiAvailability.getInstance().getErrorDialog(this, e.errorCode, PLACE_PICKER_REQUEST).show(); e.printStackTrace(); } catch (GooglePlayServicesRepairableException e) { GoogleApiAvailability.getInstance().getErrorDialog(this, e.getConnectionStatusCode(), PLACE_PICKER_REQUEST).show(); e.printStackTrace(); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PLACE_PICKER_REQUEST) […]

JsonException类型java.lang.String的值stdClass无法转换为JSONObject?

在这里,我试图将json数据发送到我的web服务器并使用php我想解析json并将数据插入到mysql数据库中。 我收到一个错误,说type java.lang.String cannot be converted to JSONObject.值stdClass type java.lang.String cannot be converted to JSONObject. 我该如何解决这个错误? private void insertToDb() throws JSONException { billType = (invEstSwitch.isChecked() ? textViewEstimate : textViewInvoice) .getText().toString(); String invNumber = textViewInvNo.getText().toString(); String bcode = barCode.getText().toString(); String description = itemDesc.getText().toString(); String wt = weightLine.getText().toString(); String rateAmt = rateAmount.getText().toString(); String making = makingAmount.getText().toString(); String […]

有没有一种简单的方法来重新排列java中的数字?

基本上在一个坚果壳我想取一个随机数说: 73524896 我想给我们相同的数字,但随机重新排列如下: 46932857 有没有办法在java中轻松完成这项工作?

Java EE组件之间的通知

我有设计问题。 我的应用程序有多个Java EE组件,简单来说,一个充当服务提供者(非UI),另一个充当消费者(UI webapp)。 消费者在启动期间从服务提供者获取配置数据(这基本上是从DB读取数据)并将其存储在Cache中。 在定期时间之后刷新缓存以反映在数据库中完成的任何更改。 问题 除了缓存刷新之外,我还想在有人更改数据库时通知消费者,配置已更改,请重新加载。 我可以使用哪些通知机制来实现此目的?

如何使用Gson反序列化ConcurrentMap

我试图反序列化一个具有ConcurrentMap的对象,但我得到一个例外。 Caused by: java.lang.IllegalArgumentException: Can not set java.util.concurrent.ConcurrentMap field com.example.Row.doubleValues to java.util.LinkedHashMap 我的函数看起来像这样: T deserialise(final InputStream input, final Class type) { GsonBuilder gsonBuilder = new GsonBuilder(); Gson gson = gsonBuilder.create(); InputStreamReader isr = new InputStreamReader(input); return gson.fromJson(isr, type); } 如何让它正确地反序列化地图? 我需要提供自定义解串器吗? 请注意,我在同一个类中有常规Maps和ConcurrentMaps 。 我也是序列化类的人,因此,如果我可以提供一个指定并发映射类型的自定义序列化程序,然后是一个反序列化器,它指定应该如何创建那些应该工作的对象。 更新 :我反序列化的类看起来像这样: public class Row implements Serializable { private static final […]

如何从java代码运行sed命令

我可能遗漏了一些东西,但我正试图从java运行命令行 代码如下: String command = “sed -i ‘s/\\^@\\^/\\|/g’ /tmp/part-00000-00000”; ProcessBuilder pb = new ProcessBuilder(command); pb.redirectErrorStream(true); Process process = pb.start(); process.waitFor(); if (process.exitValue() > 0) { String output = // get output form command throw new Exception(output); } 我收到以下错误: java.lang.Exception: Cannot run program “sed -i ‘s/\^@\^/\|/g’ /tmp/part-00000-00000”: error=2, No such file or directory fils存在。 我正在这个文件上做它并且它存在。 我只是想找到一种方法让它在java中运行。 […]

将文件下载到客户端系统中的特定位置

下面是我写的代码我要下载文件,现在我需要将文件下载到客户端系统中的特定位置。我将通过用户的输入获取路径。 我知道混淆客户端系统并不好,但我必须这样做 //setting the content type of response response.setContentType(“application/”+strFileType); response.setHeader(“content-disposition”,”attachment; filename=”+strFileName+”.”+strFileType); //creating a file input stream object InputStream input = blob.getBinaryStream(); //declaring a variable int i; while((i=input.read())!=-1) { //writing output printWriter.write(i); } //closing the streams input.close(); printWriter.close();

使用Javassist添加语句

System.out.println(“A read operation on a field is encountered “); 每当在非本地字段上执行读取操作时,如何添加语句(例如,上述语句)? 而且我还需要知道所读取字段的细节,并且细节集应该与字段的唯一性相对应 示例(删除问题中的抽象): public class Greet{ int knowncount; public Greet() { System.out.println(“Hello”); knowncount++; } public Greet(String language) { if(String.equals(“ENGLISH”)) {System.out.println(“Hello”); knowncount++; } else if(String.equals(“SPANISH”)) {System.out.println(“Hola”); knowncount++;} else System.out.println(“Language not recognized”); } public void showCount() { System.out.println(“count : “+knowncount); } } 用户类测试是: class test{ public static void […]

将Hibernate配置放在不同的位置

Hibernate配置文件(.hbm.xml)的理想位置是 …/tomcat/webapps/projectName/WEB-INF/classes/hbm 但是,我想将这些配置设置放在不同的位置 /usr/local/properties/hibernate 我怎样才能做到这一点? 如果我将配置文件放在该位置,如果我启动Tomcat,那么在加载配置时会出现错误 找不到hibernate.cfg.xml