Tag: java

JAXB映射对XML的循环引用

我有一个包含循环的对象图。 如何让JAXB处理这个问题? 我尝试在子类中使用@XmlTransient注释,但JAXB marshaller仍然检测到循环。 @Entity @XmlRootElement public class Contact { @Id private Long contactId; @OneToMany(mappedBy = “contact”) private List addresses; … } @Entity @XmlRootElement public class ContactAddress { @Id private Long contactAddressId; @ManyToOne @JoinColumn(name = “contact_id”) private Contact contact; private String address; … }

Java Swing中的MouseMotionListener,将其与组件内部的组件一起使用

我正在使用Swing中的Touch User界面。 虽然我知道这不是最佳的,但我的截止日期很短,没有时间使用触摸屏特定的GUI包(如果有的话)。 我希望我的用户能够在屏幕上“滑动”他们的手指,并且我制作的特殊JScrollPane的视图随之移动。 代码很简单 – public class PanScrollPane extends JScrollPane implements MouseMotionListener{ public PanScrollPane() { super(); this.addMouseMotionListener(this); } @Override public void mouseDragged(MouseEvent arg0) { System.out.println(“Mouse Dragged!”); } @Override public void mouseMoved(MouseEvent arg0) { System.out.println(“Mouse Moved!”); } 我遇到的问题是JScrollPane是各种JComponents的容器。 当我第一次开始研究这个时,我发现MouseMovedEvent和MouseDraggedEvent会向上传播’GUI树’,直到他们遇到一个带有专门针对该事件的侦听器的Component。 现在看来,我添加到panScrollPane的任何组件都会阻止任何这些MouseMotion事件,让我无法平移。 panScrollPane.add(new JButton(“This thing blocks any mouse motion events”)); 我想用手传播MouseEvent(将侦听器添加到每个组件,然后让它们将事件发送给它们的父组件)将起作用。 然而,这是一项非常耗时的工作,因为我宁愿把时间花在其他事情上,所以我想知道你是否知道任何解决这个问题的方法。 感谢您的阅读,并希望感谢您的回答! 🙂 编辑:让我的意图更清晰。 我只希望panPanel捕获mousemotion事件,任何其他事件(如MouseClick,MouseRelease)应该正常处理

EOFException – 如何处理?

我是一个初学Java程序员,遵循java教程 。 我正在使用Java教程的Data Streams页面中的一个简单Java程序,并且在运行时,它继续显示EOFException 。 我想知道这是否正常,因为读者必须最终到达文件的末尾。 import java.io.*; public class DataStreams { static final String dataFile = “F://Java//DataStreams//invoicedata.txt”; static final double[] prices = { 19.99, 9.99, 15.99, 3.99, 4.99 }; static final int[] units = { 12, 8, 13, 29, 50 }; static final String[] descs = { “Java T-shirt”, “Java Mug”, “Duke Juggling Dolls”, […]

Java正则表达式:重复捕获组

项是一个或多个数字或字符串的逗号分隔列表,例如 “12” “abc” “12,abc,3” 我正在尝试匹配Java中零个或多个项目的括号列表,例如 “” “(12)” “(abc,12)” “(abc,12),(30,asdf)” “(qqq,pp),(abc,12),(30,asdf,2),” 对于最后一个示例,它应分别返回以下匹配组 qqq,pp abc,12 30,asdf,2 我想出了以下(不正确的)模式 \((.+?)\)(?:,\((.+?)\))* 这与上一个示例仅匹配以下内容 qqq,pp 30,asdf,2 提示? 谢谢

java自动装箱/拆箱如何工作?

从JDK 5.0开始,在java中引入了自动装箱/拆箱function,这个技巧简单而有用,但是当我开始测试包装器类和原始类型之间的不同转换时,我真的很困惑,例如自动装箱的概念在java中是如何工作的,例如: 拳击 int intValue = 0; Integer intObject = intValue; byte byteValue = 0; intObject = byteValue; // ==> Error 在尝试不同的情况( short , long , float , double )之后,编译器接受的唯一情况是当effectation运算符右边的值的类型为int 。 当我查看Integer.class的源代码时,我发现它只实现了一个带有int参数的构造函数。 所以我的结论是自动装箱的概念是基于包装类中实现的构造函数。 我想知道这个结论是否属实,还是有自动拳击使用的另一个概念? 拆箱 Integer intObject = new Integer(0); byte byteValue = intObject; // ==> Error (the same Error with short) int intValue = […]

没有赋值的Java三元组

有没有办法在没有做任务的情况下进行java三元操作或假冒伪造? 我喜欢做一堆if / then / elses时简洁的三元代码看起来如何。 我希望能够基于布尔代数语句调用两个void函数之一。 就像是: (bool1 && bool2) ? voidFunc1() : voidFunc2(); 我的函数是返回类型为void ,所以如果有一种方法可以在赋值中伪造它以使其工作,那么我对此很好……我想看看如何做到这一点:)

用Java绘制一个简单的折线图

在我的程序中,我想绘制一个简单的分数线图。 我有一个文本文件,每行都是一个整数分数,我读入并希望作为参数传递给我的图形类。 我在实现图形类时遇到了一些麻烦,我见过的所有示例都将它们的方法与它们的主要方法放在同一个类中,我不会这样做。 我希望能够将我的数组传递给对象并生成一个图形,但是在调用我的paint方法时,它要求我使用Graphics g …这是我到目前为止所拥有的: public class Graph extends JPanel { public void paintGraph (Graphics g){ ArrayList scores = new ArrayList(10); Random r = new Random(); for (int i : scores){ i = r.nextInt(20); System.out.println(r); } int y1; int y2; for (int i = 0; i < scores.size(); i++){ y1 = scores.get(i); y2 = […]

从命令行运行包中的java

我已阅读以前发布的问题。 有些是模糊的,没有一个解决我的问题,所以我不得不再问。 我有两个简单的类, package One; import One.Inner.MyFrame; public class test { public static void main(String args[]) { MyFrame f= new MyFrame(); } } 另一类是, package One.Inner; import java.awt.*; import javax.swing.*; public class MyFrame extends JFrame { public MyFrame() { setPreferredSize(new Dimension(400,560)); setVisible(true); } } 我在Windows cmd中的基本文件夹“基本”。 我编译使用 basic> javac *.java -d . 创建文件夹和子文件夹。 cd One […]

在xml元素中获取属性值

我有一个像这样的xml字符串,我想在每个元素的循环中获取“name”的属性值。 我怎么做? 我正在使用javax.xml.parsers库。 Calendar Year 200 350 400 $320.00 670 8000 60 10 12 $250.00 false false Immediate Not Applicable 这就是我到现在为止所要做的 DocumentBuilderFactory dbc = DocumentBuilderFactory.newInstance(); DocumentBuilder dbuilder; try { dbuilder = dbc.newDocumentBuilder(); Document doc = dbuilder.parse(new InputSource(new StringReader(plan.getProvisions()))); NodeList nl = doc.getElementsByTagName(“Item”); for(int i = 0 ; i < nl.getLength(); i++){ if(i == row){ Element […]

SwingPropertyChangeSupport动态更新JTextArea

我正在尝试建立有关SwingPropertyChangeSupport的问题的答案 我试图在非常有用的Hovercraft Full Of Eels的答案中修改这里给出的代码: WindowListener不能按预期工作 ,以允许在通过输入对话框输入更改时更新显示的数组。 数组已更新,但未在GUI中刷新。 我希望有人能告诉我哪里出错了。 这是代码: import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.event.SwingPropertyChangeSupport; public class Main { public static void main(String[] arg) { GuiForUpdate display = new GuiForUpdate(); display.setVisible(true); } } class GuiForUpdate extends […]