Tag: java

你如何将一个超类型列表投给一个子类型列表?

例如,假设你有两个类: public class TestA {} public class TestB extends TestA{} 我有一个返回一个List<TestA>的方法,我想将该列表中的所有对象都转换为TestB以便最终得到一个List<TestB> 。

为什么在Java中没有SortedList?

在Java中有SortedSet和SortedMap接口。 两者都属于Java的标准集合框架,并提供了访问元素的排序方式。 但是,据我了解,Java中没有SortedList 。 您可以使用java.util.Collections.sort()对列表进行排序。 任何想法,为什么它是这样设计的?

在什么情况下JSESSIONID创建?

什么时候创建JSESSIOINID的条件是什么? 它是每个域? 例如,如果我有一个Tomcat应用程序服务器,并且我部署了多个Web应用程序,那么会根据上下文(Web应用程序)创建不同的JSESSIONID ,还是跨Web应用程序共享,只要它们是相同的域?

如何在Java密钥库中导入现有的x509证书和私钥以在SSL中使用?

我有这个在activemq配置 <sslContext> <sslContext keyStore="file:/home/alex/work/amq/broker.ks" keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" trustStorePassword="password"/> </sslContext> 我有一对x509证书和一个密钥文件 如何导入这两个用于ssl和ssl + stomp连接器? 所有的例子,我可以谷歌总是自己生成密钥,但我已经有一个关键。 我努力了 keytool -import -keystore ./broker.ks -file mycert.crt 但是这只导入证书而不是密钥文件和结果 2009-05-25 13:16:24,270 [localhost:61612] ERROR TransportConnector – Could not accept connection : No available certificate or key corresponds to the SSL cipher suites which are enabled. 我已经尝试连接证书和密钥,但得到了相同的结果 我如何导入密钥?

为什么我不能在Java界面中定义静态方法?

这是一个例子: public interface IXMLizable<T> { static T newInstanceFromXML(Element e); Element toXMLElement(); } 当然这是行不通的。 但为什么不呢? 其中一个可能的问题是,当你打电话时会发生什么: IXMLizable.newInstanceFromXML(e); 在这种情况下,我认为它应该只是调用一个空的方法(即{})。 所有的子类将被迫实现静态方法,所以在调用静态方法时,它们都会很好。 那为什么不可能呢? 编辑:我想我正在寻找比“因为这是Java的方式”更深的答案。 是否有一个特定的技术原因,为什么静态方法不能被覆盖? 也就是说,为什么Java的设计者决定让实例方法可以覆盖,而不是静态方法? 编辑:我的设计的问题是我试图使用接口来执行编码约定。 也就是说,界面的目标是双重的: 我希望IXMLizable接口允许我将实现它的类转换为XML元素(使用多态性,工作正常)。 如果有人想要创建一个实现了IXMLizable接口的类的新实例,他们总是会知道会有一个newInstanceFromXML(Element e)静态构造函数。 有没有其他的方法来确保这一点,除了在界面中留言? 编辑: 从Java 8开始,现在允许在接口中使用静态方法。

最终关键字的工作原理

在Java中,我们使用final关键字和变量来指定它的值不被改变。 但是我发现你可以改变类的构造函数/方法中的值。 同样,如果变量是static那么这是一个编译错误。 这里是代码: import java.util.ArrayList; import java.util.List; class Test { private final List foo; public Test() { foo = new ArrayList(); foo.add("foo"); // Modification-1 } public static void main(String[] args) { Test t = new Test(); t.foo.add("bar"); // Modification-2 System.out.println("print – " + t.foo); } } 上面的代码工作正常,没有错误。 现在将该变量更改为static : private static final List foo; […]

使用AbstractTableModel获取JTable中选定的行

我有一个JTable使用AbstractTableModel ,我有一个JCheckBox在第一列选择行。 现在,我需要从被检查的表中选择所选的行。 现在,我顺序遍历从第一行到最后一行,并获取所有选定的行,如下所示, List<Integer> selectedRows = new ArrayList<Integer>(); for(int i = 0; i < table.getRowCount(); i++) { if((Boolean) table.getValuAt(i, 0)) { selectedRows.add(i); } } 这里的问题是,我需要遍历所有的行时,我需要得到选定的行。 现在我有10到20行。 但是在将来我会得到5000行左右。 我的问题是,如果有5000行,如果用户只选择5000nd(最后一条记录)行,那么我需要遍历所有5000行,以获得选定的行。 我认为这不是一个好方法。 我想要实现的一种方法是,添加一个监听器到JCheckBox列,这样当有变化(SELECTED/DESELECTED)我需要更新监听器类中所选行的数组。 在这个监听器类中,当用户选择一个JCheckBox我需要调用table.getSelectedRow(..) ,如果选择了JCheckBox则需要存储。 有没有更好的方法?

将图像缩略图添加到网格中的布局?

我有一个图像列表。 我需要添加到一个框架的小缩略图。 我目前有SpringLayout框架。 如何在滚动窗格中像时尚一样添加缩略图。 照片列表可能很大,所以我需要一个滚动窗格。 我不知道如何用SpringLayout来处理这个问题。 我知道如何添加缩略图; 真正的问题是如何在SpringLayout显示缩略图的网格。 import java.awt.Color; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SpringLayout; public class grid { /** * @param args */ public grid() { JFrame frame = new JFrame("Hello"); Container pane = frame.getContentPane(); pane.setBackground(Color.WHITE); SpringLayout layout = new SpringLayout(); pane.setLayout(layout); JPanel photoPanel = new JPanel(); JScrollPane photoScroll […]

通过当前日期

似乎无法修复代码中的Graphics2D缺乏,那么我必须为动画设置修复大小,否则一些开始外面Rectangle 490 x 490冻结或在屏幕上晃动 我的SSCCE import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Random; import java.util.Vector; import java.util.regex.Pattern; import javax.swing.*; import javax.swing.table.*; public class OneTwoThree implements Runnable { private String testS; private JFrame frame = new JFrame("frameTitle"); private JScrollPane tblS = new JScrollPane(); private JTable tbl; private Vector<String> rOrH; private long t1 […]

Java Swing按钮颜色

我正在使用NET Beans IDE在LINUX中开发我的应用程序。 我已经使用了合成包来产生新的外观和感觉。 一切都很好,直到现在。 现在我的下一个阶段是在某些数据库状态更改时为按钮添加颜色。 例如: 在一家餐厅,我有两张桌子,当有八人进来用餐时,我将在软件中创建两张桌子,因为人们无人看管,我希望这两张桌子的按钮是绿色的。 处理任何这些表格的订单时,处理表格的按钮颜色应更改为橙色。 在加工过程中应该是闪烁的颜色。 如何在java中做到这一点? 我会照顾数据库更新,我只是想知道如何改变按钮的颜色和添加闪烁技术。