我的Swing JButton代码如下所示:
Insets An_Inset=new Insets(0,0,0,0);
String Content="<Html>"+
" <Table Border=1 Cellspacing=0 Cellpadding=2 Width=48>"+
" <Tr><Td Align=Center BgColor=Blue><Font Size=3> + </Font></Td><Td Align=Center><Font Size=3> + </Font></Td></Tr>"+
" <Tr><Td Align=Center><Font Size=3> + </Font></Td><Td Align=Center><Font Size=3> + </Font></Td></Tr>"+
" </Table>"+
"</Html>";
JButton aButton=new JButton(Content);
aButton.setFont(new Font(Monospaced,0,16));
aButton.setPreferredSize(new Dimension(56,56));
aButton.setEnabled(false);
aButton.setMargin(An_Inset);
aButton.setHorizontalAlignment(SwingConstants.CENTER);
Run Code Online (Sandbox Code Playgroud)
但是"+"标记偏离中心,如何解决?

我可以在我的可执行jar文件中包含rt.jar并双击运行它而不先在机器上安装java吗?我希望在我的罐子里使用那个rt.jar来启动它,可能吗?如果没有,还有其他方式吗?
运行以下行后:
double d=Float.parseFloat("9.99");
System.out.println(""+d);
Run Code Online (Sandbox Code Playgroud)
我得到了这个:9.989999771118164
我期待看到:9.99
为什么以及如何解决这个问题?
================================================== =====
编辑:我应该使用的是:double d = Double.parseDouble("9.99")打印出9.99.这是我的错,但看到详细的答案很有意思,谢谢!
我在NB中搜索了包含某个字符串的所有*.java程序,并在搜索结果面板中列出了几十个程序,如何将结果保存到文本文件中?
我是 Hibernate 的新手,我下载了一个示例 Java 应用程序并将其修改为更有用,到目前为止,在我的应用程序中,我有两个在我的 Java 应用程序中定义的数据库类:Actor.java 和 City.java 他们每个人都有.hbm.xml 文件如下所示:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Jun 17, 2009 11:42:48 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="sakila.entity.Actor" table="actor" catalog="sakila">
<id name="actorId" type="java.lang.Short">
<column name="actor_id" />
<generator class="identity" />
</id>
<property name="firstName" type="string">
<column name="first_name" length="45" not-null="true" />
</property>
<property name="lastName" type="string">
<column name="last_name" length="45" not-null="true" />
</property>
<property name="lastUpdate" type="timestamp">
<column name="last_update" length="19" not-null="true" />
</property>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
<hibernate-mapping>
<class name="sakila.entity.City" …Run Code Online (Sandbox Code Playgroud) 当我输入以下方法并用Java编译时,我得到了"错误:无法访问的语句",为什么?
String getRankChar(int rank,boolean isFront)
{
switch (rank)
{
case 0 : return isFront?"<":">";break;
case 1 : return isFront?"[":"]";break;
case 2 : return isFront?"[":"]";break;
case 3 : return isFront?"(":")";break;
case 4 : return isFront?"(":")";break;
default : return " ";break;
}
}
Run Code Online (Sandbox Code Playgroud) return (ConcurrentHashMap)sortedMap;
Run Code Online (Sandbox Code Playgroud)
和
return new ConcurrentHashMap(sortedMap);
Run Code Online (Sandbox Code Playgroud) 我想在网上加一个加密的许可证列表,这样有效的用户就可以使用我的应用程序来获取该列表,并检查他们的许可证ID是否在列表中,这样就可以激活这些应用程序.我注意到一些方法生成加密字符串,如"M°+ {Î...",其中有很多奇怪的字符,我想知道哪种方法可以生成看起来像"dhjfjhf1232784dfjk"的常规字符?
坦率
我有以下方法:
char getChar(int I)
{
if (I<65+26) return (char)(I);
switch (I)
{
case 91 : return '?';break;
case 92 : return '#';break;
default : return ' ';
}
}
Run Code Online (Sandbox Code Playgroud)
为什么会出现"无法访问的语句"错误?
我使用Java系统剪贴板来传输文本和图像,但我想知道它是否可以复制和粘贴文件?如果是这样我在哪里可以找到一些示例代码?
我发现了一个类似的问题:我如何复制文件并使用Java将其粘贴到剪贴板?
但在其中我找不到"剪贴板"这个词,我不知道如何使用它.
我用来复制图像的方法如下所示:
public static void setClipboard(Image image) // This method writes a image to the system clipboard : from exampledepot.com
{
ImageSelection imgSel=new ImageSelection(image);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(imgSel,null);
}
public Image getImageFromClipboard() // Get an image off the system clipboard
{
Transferable transferable=Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
if (transferable!=null&&transferable.isDataFlavorSupported(DataFlavor.imageFlavor))
{
try { return (Image)transferable.getTransferData(DataFlavor.imageFlavor); }
catch (UnsupportedFlavorException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
else System.err.println("getImageFromClipboard: That wasn't an image!");
return null;
}
Run Code Online (Sandbox Code Playgroud)
如何修改上面的代码来传输文件?