我正在编写一个 POS(销售点)软件,它允许支付货物或退款。在付款或退款时,需要指定使用哪种汇款方式:现金、EFT(~=信用卡)、会员卡、代金券等。
这些汇款方式是一组有限且已知的值(一种枚举)。
棘手的部分是我需要能够在 POS 终端上存储这些方式的自定义子集,用于付款和退款(两组可能不同)。
例如:
我选择实现汇款方式的概念如下:
public abstract class MoneyTransferMean : AggregateRoot
{
public static readonly MoneyTransferMean Cash = new CashMoneyTransferMean();
public static readonly MoneyTransferMean EFT = new EFTMoneyTransferMean();
// and so on...
//abstract method
public class CashMoneyTransferMean : MoneyTransferMean
{
//impl of abstract method
}
public class EFTMoneyTransferMean : MoneyTransferMean
{
//impl of abstract method
}
//and so on...
}
Run Code Online (Sandbox Code Playgroud)
它不是“普通枚举”的原因是这些类内部存在一些行为。我还必须将内部类声明为 public(而不是私有),以便在 FluentNHibernate 映射中引用它们(见下文)。
支付和退款手段总是作为一个集合存储在/从数据库中检索。它们实际上是两个不同的集合,即使两个集合中的某些值可能相同。
用例 1:定义一组新的支付/退款方式
用例2:检索所有支付/退款方式 …
c# nhibernate domain-driven-design fluent-nhibernate fluent-nhibernate-mapping
我正在开发一个必须有自定义图标的应用程序.所提供的图标在所有尺寸(256x256,48x48,32x32)中都是相同的,除了在16x16中图标被简化.
我想到了.ico格式(我可以存储所有不同的图标并让操作系统显示最佳)但javafx.scene.image似乎没有支持它(我还没有找到任何关于它的确认) ).
以下是我设置图标的方法
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon.ico")));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,永远不会显示图标.如果我将此图标转换为.png图像,则可以使用,但强制始终显示相同的图标(即使在16x16中).
在JavaFX 2.2中是否有一种方法可以显示.ico(即使是以hacky方式),还是我必须使用其他图像格式?
我将.ico分成多个png(每个大小一个),然后逐个加载它们.
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_16x16.png")));
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_256x256.png")));
Run Code Online (Sandbox Code Playgroud)
256x256和16x16是两个不同的图像,但16x16从未显示在应用程序的左上角(尽管这是最接近的大小).
我编写了以下(简化的)模式来验证我收到的一些 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="Param">
<xs:complexType>
<xs:sequence>
<xs:element name="RadioAddr" type="xs:string" />
<xs:element name="DataToRead" type="xs:integer" minOccurs="0" maxOccurs="1" />
<xs:choice minOccurs="0" maxOccurs="1">
<xs:group ref="Group1" />
<xs:group ref="Group2" />
<xs:group ref="Group3" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group name="Group1">
<xs:sequence>
<xs:element ref="Password" />
<xs:element name="RadioActivated" type="xs:integer" minOccurs="0" maxOccurs="1" />
<xs:element ref="IdNumber" minOccurs="0" maxOccurs="1" />
<xs:element ref="AdjustClock" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:group>
<xs:group name="Group2">
<xs:sequence>
<xs:element ref="IdNumber" minOccurs="0" maxOccurs="1" />
<xs:element ref="Password" />
<xs:element ref="AdjustClock" minOccurs="0" maxOccurs="1" />
</xs:sequence> …Run Code Online (Sandbox Code Playgroud) 我从API获取json数据作为String但我想将其存储在DB中并将其用作整数.例如,我得到A = 15K或15M,但我想要15000.
这是我的课
public class JsonRestApi {
public JsonRestApi() {
try {
String Response = "{\"Youtube Data\":{\"Views\":\"15K\"}}";
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(Response);
JSONObject jsonObject = (JSONObject) obj;
JSONObject jsonObject3 = (JSONObject)jsonObject.get("Youtube Data");
String yviews = (String)jsonObject3.get("Views");
System.out.println(yviews);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出 - 15K
但我希望输出为15000.但是我不想改变我的Json数据.我该怎么做到这一点?
我想删除分页控件的Selected页面标签(见下图).
在深入了解caspian.css后,我无法找到任何关于如何做到这一点的线索.通过代码我也没有找到任何方法来删除(或最终隐藏)此标签.
有没有办法在JavaFX中实现这一点而无需重新实现整个控件?

java ×2
javafx-2 ×2
c# ×1
css ×1
ico ×1
image ×1
json ×1
nhibernate ×1
pagination ×1
validation ×1
xml ×1
xsd ×1