我想屏幕抓一个网站,为此我想使用Http,Socks4和Sock5代理.所以我的问题如下:
是否可以在不使用任何其他外部API的情况下通过Java使用这些代理?例如,是否可以通过这些代理通过HttpURLConnection发送请求?
如果不可能,那么我可以使用哪些其他外部API?
我是通过使用由HtmlUnit提供的无头浏览器来实现的,但是加载甚至简单的网页也需要时间,所以你能否建议我提供其他API(如果有的话)来提供快速加载网页的无头浏览器.我不想打开包含大量AJAX或Javascript代码的网页.我只需要通过无头浏览器点击表单按钮.
我正在开发一个Java桌面应用程序.在其中我有4 JButtons个JPanel.现在我希望每当点击一个按钮时,它的背景颜色会变成其他颜色(比如橙色)来表示它已被点击,所有其他3个按钮的背景颜色重置为默认颜色(如果它们中的任何一个都有橙色)背景颜色).
因此,一次只有一个按钮可以具有橙色.
我应用的当前方法是我在xxxActionPerformed()JButton button1 的方法中实现了以下代码
button1.setBackground(Color.Orange);
button2.setBackground(Color.Gray);
button3.setBackground(Color.Gray);
button4.setBackground(Color.Gray);
Run Code Online (Sandbox Code Playgroud)
其余三个按钮同样如此.
实际上,我不希望背景颜色为灰色(对于未点亮的按钮).相反,我想要默认的背景颜色,以便背景颜色根据最终用户平台的外观将其自身调整为GUI的外观.
Q1.如何获得默认背景颜色?
Q2.这是正确的方法吗?还是有任何其他机制,通过它我可以将按钮组中的所有四个按钮分组,以便只有一个可以同时具有指定的属性(如单选按钮)?
我已经制作了一个演示小程序,我想将它传递给我的客户端,以便他可以运行它5次以检查其功能.它不是一个很大的软件,我实现了一些串行密钥功能并制作试用版软件.
我想要一个简单的解决方案,可以限制程序的使用超过5次,或者可以在阈值限制后删除自己.
我想到了一个解决方案.我通过相同的程序制作4个.txt文件并将它们存储在diff中.客户端计算机上的位置和这些文件将存储程序运行的次数.每次应用程序启动时,它都会检查所有这些文件,如果任何文件包含代表阈值限制的数字,则只需说明已达到阈值限制即退出.
还有其他更好的解决方案,但很简单,限制客户不同时间使用它?
如果程序在达到阈值限制后被删除会更好.
直到现在,我一直在使用Netbeans Swing GUI生成功能为我的java应用程序构建GUI.
现在我已经开始在我的项目中使用Eclipse并且已经删除了Netbeans.因此,除了手动编写GUI的所有代码之外,还有哪些方法可以快速以更好的方式构建GUI.
我最近学过JPA.现在我想在我的一个商业产品中使用它.但在继续之前,我想看一些示例JPA Java Desktop应用程序,以便更好地理解在桌面应用程序中使用JPA.
我搜索谷歌这个,但我找到的只是JPA的教程,有实体的例子.
我需要一些使用JPA的真正的Java桌面应用程序.
我有一个java.util.ArrayList<Item>和一个Item对象.
现在,我想获得Item存储在arraylist中的次数.
我知道我可以做arrayList.contains()检查,但它返回true,无论它是否包含一个或多个Items.
Q1.如何找到项目存储在列表中的时间?
Q2.此外,如果列表包含多个项目,那么如何确定其他项目arrayList.indexOf(item)的索引,因为每次只返回第一个项目的索引?
我有一个java.util.Set<City> cities,我需要以两种方式将城市添加到此集合中:
通过添加单个城市(在cities.add(city)方法调用的帮助下)
通过向此集添加另一组城市(在cities.addAll(anotherCitiesSet)方法调用的帮助下)
但第二种方法的问题是,我不知道是否有任何重复的城市anotherCitiesSet.
我想在尝试在cities集合中输入重复条目时进行一些处理.
我正在开发一个java应用程序.我想在我的应用程序中集成一些会计模块.我不想要任何功能丰富的会计模块.我只是想保持
所以你知道任何免费的OPEN SOURCE会计模块,这样我就可以将它与我的应用程序集成.
假设我有一个预定义的值列表(RW,FW,4W),表示车辆的驱动类型:
RW - 后轮
前锋 - 前轮
4W - 四轮
现在,我想从上面的3个值中取一个值作为我用户的输入,然后将其存储在数据库中.
据我所知,我可以借助以下任何一种方法执行此操作:
- 在UI上对值进行硬编码,以便UI显示仅具有上述3个值的下拉列表.然后将该值存储String vehicleType在Vehicle vehicle对象的字段中,然后将其存储在DB中String.
缺点:
一世).没有验证对象级别的值
ⅱ).没有验证数据库级别的值.
III).虽然很少需要为列表添加新值,但用户仍然无法在运行时添加新值
- 优点:
一世).无需join在DB处检索vehicle对象
要么
VEHICLE_TYPE在DB中创建一个具有所有3个值的单独表,并将其与VEHICLE表通过表链接.外键.然后从VEHICLE_TYPE表中填充UI的下拉列表.将值存储在vehicle对象中String
- 缺点:
一世).在对象级别没有验证
ⅱ).需要join在DB处检索vehicle对象
- 优点:
一世).验证DB级别的值(通过外键)
ⅱ).用户可以在运行时向列表中添加新值
要么
VEHICLE_TYPE在DB中创建一个具有所有3个值的单独表,但不要将其与VEHICLE表通过.外键.然后从VEHICLE_TYPE表中填充UI的下拉列表.将值存储在vehicle对象和DB中String
- 缺点:
一世).在对象级别没有验证
ⅱ).没有DB级别的验证
- 优点:
一世).没有join需要在数据库级别
ⅱ).用户可以向列表中添加新值
要么 …
我有一个如下的XSD文件:
<element name="finder-def" minOccurs="0" maxOccurs="unbounded">
<complexType>
<attribute name="name" type="string" use="required"></attribute>
<attribute name="description" type="string"></attribute>
<attribute name="class" type="string" use="required"></attribute>
</complexType>
</element>
<complexType name="Dimension">
<sequence>
<element name="finder" type="Finder" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="Finder">
<attribute name="name" type="String" use="required"/>
</complexType>
Run Code Online (Sandbox Code Playgroud)
XML文件对应上面的XSD文件如下:
<finder-def name="circleFinder" description="Finds circle based on msisdn" class="com.onmobile.reporting.etl.processor.common.propertyplugins.CircleIdPropertyPlugin" />
<dimension name="circleId">
<finder name="circleFinder" />
</dimension>
Run Code Online (Sandbox Code Playgroud)
所以,在这里我定义了一个finder-defie circleFinder然后想finder-def通过finder元素来引用它.
所以问题是如何验证finder circleFinder其定义如上所述finder-def