查看JLabel的源代码我关注文本字段的可见性.我提取了必要部分来设置文本字段并检索oldValue.我认为如果String文本字段未声明为volatile,则可见性存在危险,因为firePropertyChange可能看不到之前由另一个线程保存的文本字段中检索到的oldValue.我是对的,还是我错过了什么?请注意,这不是讨论SwingUtility.
public class JLabel extends JComponent implements SwingConstants, Accessible {
...
private String text = ""; // "" rather than null, for BeanBox
...
public void setText(String text) {
String oldAccessibleName = null;
if (accessibleContext != null) {
oldAccessibleName = accessibleContext.getAccessibleName();
}
String oldValue = this.text;
this.text = text;
firePropertyChange("text", oldValue, text);
...
Run Code Online (Sandbox Code Playgroud)
提前谢谢了.
我正在用JavaFX,Maven,Hibernate等在体系结构客户端服务器中进行学校项目,我对单独实施Hibernate(没有Spring)有很大的疑问。我不确定配置,依赖关系或MySQL问题:/
hibernate.cfg.xml
<?xml version = "1.0" encoding = "utf-8"?> <!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/carrental</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="connection.pool_size">10</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<!-- List of mapping files -->
<mapping class="model.User" />
</session-factory> </hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
模型用户
package model;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.Serializable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@Entity
public class User implements Serializable {
@Id
@GeneratedValue
private Integer userId;
private String login; …Run Code Online (Sandbox Code Playgroud) 我正在尝试将文本文件用作数据库,但遇到了问题。问题是当我在文本文件上写入用户信息时,当我添加第二个用户时它不会写入下一行。它只是覆盖旧的。如何添加 writeToNextLine 之类的东西?
public void addAdmin(String adminName, String adminSurName, String adminUserName, String adminPassword) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\\Users\\cemon\\IdeaProjects\\Library\\src\\database\\AdminUserData.txt"));
writer.write(adminName + " " + adminSurName);
writer.newLine();
writer.write(adminUserName + " " + adminPassword);
writer.newLine();
writer.close();
}
Run Code Online (Sandbox Code Playgroud) 这是事情......
我有2个GUI程序.
一个菜单程序,基本上是一个带有食物项按钮的框架,点击时按钮打开另一个程序,一个输入数量程序,一个带有文本字段的框架,数字按钮,取消和确认按钮.菜单程序将从输入数量程序访问用户确认的数量,以存储在矢量中,这样每次用户想要订购其他食品时,他只需点击另一个按钮并重复该过程.
现在我编写了大部分代码并且除了一件事之外一切都正常工作,输入数量程序返回的值有这个延迟的事情.
这就是我一步一步做的事情:
1)单击"菜单"中的食物项,打开"输入数量"窗口.
2)我输入了我想要的数字,它正确地显示在文本框中.
3)我按下确认哪个会做3件事,首先它将文本字段的值存储到变量中,第二个将调用dispose()方法,第三个是显示变量值的print语句(用于测试目的).
4)菜单程序然后检查用户是否已经按下Input程序中的Confirm按钮,如果为true,它将调用Input程序中名为getQuantity()的方法,该方法返回变量'quantity'的值并将其存储在矢量.
5)之后执行另一个print语句以检查传递的值是否正确,然后调用方法print()以显示已订购的项目名称及其记录的数量.
以下是GUI的屏幕截图,代码将在其下方.


输入数量程序中CONFIRM BUTTON的ActionPerformed方法:
private void ConfirmButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
confirmed = true;
q= textField.getText().toString();
quantity =Integer.parseInt(q) ;
System.out.println("getQTY method inside Input Quantity Interface:" +getQuantity());
System.out.println("Quantity from confirmButton in Input Quantity Interface actionPerformed: "+quantity);
//getQuantity();
}
Run Code Online (Sandbox Code Playgroud)
菜单程序中菜单项按钮的动作监听类别执行上述步骤2:
class f implements ActionListener {
@Override
public void actionPerformed(ActionEvent e)
{
inputGUI.setVisible(true);
int q =0;
q=inputGUI.getQuantity(); //call method to get value from Input Program
System.out.println("Quantity inside Menu actionperformed …Run Code Online (Sandbox Code Playgroud) ubuntu使用什么外观(11或更高)?我想在将在Windows上运行的swing应用程序中使用相同的内容.我在哪里可以找到那个lnf的罐子?
我想要一个可以完全工作而不是控制台的JTextArea 但我不知道该怎么做!
谢谢
嘿,我想实现以下功能:
最简单的方法是什么?
注意:解析txt文件是可以接受的,但我正在寻找更快的方法.
我有一些列表包含DataTime类型的元素(Joda-time).我怎样才能按日期对它们进行排序?如果有人给出了这个例子的链接,那将会很棒......