在我的应用程序中,一切都分布 在一个动作中,应用程序从DB中检索数据并保存在ArrayList<T> 。 我创build一个RelativeTableModel的对象,我传递ArrayList<T> 。 public void RelationsClicked() { ArrayList<Relation> data = myParent.dbOperation.getRelations(); RelativeTableModel tModel = new RelativeTableModel(data); // subclass of AbstractTableModel myParent.SetBrowsePanelData(tModel); myParent.SetMainPanel(CashAccountingView.BROWSEPANEL); } 我有JScrollPane中有一个JTable的BrowseListPanel类。 它的实例已经在主应用程序中创build。 我将模型传递给BrowseListPanel并最终显示面板。 码: public void SetBrowsePanelData(AbstractTableModel tModel) { browsePanel.setTModel(tModel); } // BrowseListPanel's Code public void setTModel(AbstractTableModel tModel) { this.tModel = tModel; // tModel = AbstractTableModel } // Show the […]
我有以下代码: public class Tests { public static void main(String[] args) throws Exception { int x = 0; while(x<3) { x = x++; System.out.println(x); } } } 我们知道他应该只写x++或者x=x+1 ,但是在x = x++它应该首先把x赋给自己,然后增加它。 为什么x继续0作为价值? –update 这是字节码: public class Tests extends java.lang.Object{ public Tests(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]) throws […]
.war和.ear文件有什么区别?
在我的一个采访中,我被要求解释一个接口和一个抽象类的区别。 这是我的回应: Java接口的方法是隐式抽象的,不能有实现。 Java抽象类可以有实现默认行为的实例方法。 在Java接口中声明的variables在默认情况下是final的。 抽象类可能包含非最终variables。 Java接口的成员默认是公共的。 一个Java抽象类可以拥有像private,protected等类成员的通常风味。 Java接口应该使用关键字“implements”来实现; Java抽象类应该使用关键字“extends”进行扩展。 一个接口只能扩展另一个Java接口,一个抽象类可以扩展另一个Java类并实现多个Java接口。 一个Java类可以实现多个接口,但它只能扩展一个抽象类。 不过,面试官不满意,告诉我这个描述代表“ 书本知识 ”。 他问我一个更实际的回答,解释什么时候我会通过一个接口select一个抽象类,用实际的例子 。 我哪里做错了?
java中有相当多的GUI框架,但是被认为是今天的框架呢? 以下是我对不同框架的理解,如果我错了,请纠正我。 这是一个非常松散的问题,但我仍然认为它对任何想创build丰富的gui应用程序的人都有价值。 AWT 是摆动的基础,它performance良好,但缺乏先进的组件。 如果你打算创build丰富的应用程序,AWT可能不是要走的路。 但是对于不需要丰富的用户界面的较小的gui应用程序。 这可能是完美的,因为它是一个久经考验的框架。 摇摆 如前所述基于AWT。 在起步阶段,它被认为是缓慢和错误的,并导致IBM为Eclipse创buildSWT。 然而,Java 5(或6?)Swing成为构build新应用程序的首选框架。 Swing有很多丰富的组件,但在某些领域仍然缺乏。 一个例子是没有一个全function的TreeTable组件可以进行sorting和过滤/search。 SWT 由IBM为Eclipse创build,他们似乎认为Swing当时不适合Eclipse。 本身是相当低级的,它通过JNI使用平台的本地小部件。 这与Swing和AWT无关。 他们的API有点笨重,不直观。 他们有一些像TreeTable一样的高级组件。 (但我不认为他们支持sorting和过滤框)。 SWT使用一些本地绑定(通过JNI?),互联网上的咆哮是这个框架不应该在今天的项目中使用。 (为什么不?) SwingX 基于Swing,它的使命是创build丰富的组件。 还在开发中。 (虽然不是非常活跃)。有一组非常好的组件,例如TreeTable。 但据我所知,TreeTable不支持过滤和sorting。 但是它支持高亮显示。 请注意,SwingX是组件(AFAIU),是现有Swing组件的扩展或组合 JGoodies数据 一个我一无所知的框架…它的优点和缺点是什么? 其余的Jgoodies是什么? JGoodies OTOH是关于PLAF和布局。 JavaFX的 Java / Oracle的最新旗舰。 很有希望成为开发富桌面或Web应用程序的事实标准。 Apache枢轴 它使用Java2D呈现UI,从而最大限度地减lessSwing和AWT(IMO,膨胀)遗留的影响。 (@Augustus Thoo) 它的主要重点似乎是RIA(富互联网应用程序),但它似乎也可以应用于桌面应用程序。 作为个人评论,看起来很有趣! 我特别喜欢这是一个Apache项目。 https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html Qt Jambi 用c / c ++编写的java本地包装器。 […]
我有一个用JAX-RS和jersey开发的Restful服务API。 我已经在TOMCAT 7中部署了相同的部分。现在我想实现Activemq,以便将所有请求保留在队列中并处理请求资源。 如何做到这一点,并与tomcat7集成。 如何将ActiveMq与Tomcat7或我的rest服务webapp集成。 如何致电该服务。 重要说明: – 在Api里面,我使用FilterChaining的概念来保证安全性,在validation了主叫方之后,我只是把请求转发给资源。 为此,我已经添加到web.xml中。 谢谢 这是我的class级 – public class LimitFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //some authentication if (true) { // let the request through and process as usual chain.doFilter(request, response); } else { // handle limit case, eg […]
我正在尝试创build一个项目列表,不同的每个我和jvariables。 我的代码是: if (i == 0) { if (j == 0) { final CharSequence[] items = {"4:45", "5:00"} } else if (j == 1) { final CharSequence[] items = {"4:43", "4:58"} } else if (j == 2) { final CharSequence[] items = {"4:41", "4:56"} } else { final CharSequence[] items = {"4:38", "4:53"} } … […]
我怎样才能给我的JMenuItem的名称附加到他们的ActionListener将看? 我有一个由单个ActionListener处理的菜单系统,这些菜单中的一些项目重复名称。 这在用户端不是问题,因为很明显什么是什么; 事实上,如果他们有不同的名字,会更混乱。 但是,在我的最后,我想要标记每个项目的唯一。 创build我的项目的部分如下所示: String label = getLabel(forThisItem); JMenuItem item = new JMenuItem(label); item.setName(parentMenu.getName() + "_" + label); item.addActionListener(actionListener); parentmenu.add(item); 然后用getName()询问项目(在这个方法的范围之外),给出了我给它的名字,因为它应该,但是输出 public void actionPerformed(ActionEvent ae) { String actionPerformed = ae.getActionCommand(); System.out.println("actionPerformed: " + actionPerformed); } 是用户看到的,可能是重复的,由label指定的label ,而不是我给出的唯一名称。 我如何将正确的信息提供给ActionListener?
我有以下例子的问题: import java.util.regex.*; class Regex2 { public static void main(String[] args) { Pattern p = Pattern.compile(args[0]); Matcher m = p.matcher(args[1]); boolean b = false; while(b = m.find()) { System.out.print(m.start() + m.group()); } } } 和命令行: java Regex2 "\d*" ab34ef 有人可以解释我,为什么结果是:01234456 正则expression式模式是d * – 它意味着第一个或更多,但是在args [1]中有更多的位置, 谢谢
在这之后,在这里find了一个新的问题。 我是Java新手,但是我正在做一个“Flappy Bird”的娱乐活动,以便学习更多关于java和graphics显示的方式。 任何解决scheme或对我的任何问题的build议,非常感谢。 谢谢! 现在,我的程序做了一个随机的pipe道并且滚动它,但是当x1-3 = -83 ( 这是pipe道完全离开屏幕并且不再需要的时候 )我不需要它来保持滚动。 问题 我怎样才能让我的Game.class滚动多个Game.class实例,同时增加它们之间的预设距离? 我可以找出他们之间的距离,但只要展示不止一个,我不知道该怎么做。 最多3个pipe道必须同时显示。 如何显示主菜单的面板,然后在按下开始button后切换到pipe道面板? 类 Game.java import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.Timer; public class Game { Pipes panel = new Pipes(); public Game() { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(panel); f.setTitle("Pipe Game"); f.setResizable(false); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); […]