java.util.Date vs java.sql.Date :何时使用哪个和为什么?
如果我创build不可resize的JFrames,并启用Windows Aero setLocation似乎不正确地考虑到窗口边框。 在下面的代码中,我期望第二帧被定位在第一帧的右侧,而不是边界重叠。 如果Aero被禁用,或者我删除了setResizable的调用,则按照预期完成。 import java.awt.Rectangle; import javax.swing.JFrame; public class FrameBorders { public static void main(String[] args) { JFrame frame1 = new JFrame("frame 1"); JFrame frame2 = new JFrame("frame 2"); frame1.setResizable(false); frame2.setResizable(false); frame1.setVisible(true); Rectangle bounds = frame1.getBounds(); frame2.setLocation(bounds.x+bounds.width, bounds.y); frame2.setVisible(true); } } 我做错了什么或者这是一个错误? 我怎样才能显示2个不可重复的对话框,并没有重叠的边界? 编辑:添加屏幕截图(也将frame2更改为一个JDialog而不是一个JFrame) Aero On: Aeroclosures: 航空虽然可resize:
下面怎么打印老板而不是低音? String boss = "boss"; char[] array = boss.toCharArray(); for(char c : array) { if (c== 'o') c = 'a'; } System.out.println(new String(array)); //How come this does NOT print out bass?It prints boss.
我相信你们都知道我的意思 – 代码如: Thread thread = new Thread(); int activeCount = thread.activeCount(); 引发编译器警告。 为什么不是一个错误? 编辑: 要清楚:问题与Threads无关。 我认识到在讨论这个时候通常会给出Thread的例子,因为它们可能会把事情搞得一团糟。 但真正的问题是,这种用法总是无稽之谈,你不能(胜任)写这样一个电话,并指出它。 这种types的方法调用的任何例子都是无聊的。 这是另一个: String hello = "hello"; String number123AsString = hello.valueOf(123); 这看起来好像每个String实例都带有一个“String valueOf(int i)”方法。
我正在开发一个Android应用程序,从MySQL数据库中读取数据,我面临这个错误。 我有这个XML布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/wardNumber" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="3dp" android:text="Ward Number" android:textSize="22dp"/> <TextView android:id="@+id/dateTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/wardNumber" android:layout_alignParentRight="true" android:layout_marginRight="3dp" android:text="Date-Time" /> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/dateTime" android:layout_alignBottom="@+id/dateTime" android:layout_alignLeft="@+id/wardNumber" android:layout_marginLeft="3dp" android:text="Name" /> </RelativeLayout> 这是我的Java文件: public ApplicationAdapter(Context context, List<Application> items) { super(context, R.layout.app_custom_list, items); this.items = items; } @Override public […]
如何从Java程序中更改当前的工作目录? 我所能find的关于这个问题的一切都表明你根本做不到,但是我不能相信那是真的。 我有一段代码,它使用通常启动的目录中的硬编码相对文件path打开一个文件,我只想从不同的Java程序中使用该代码,而不必从内部启动它一个特定的目录。 看起来你应该能够调用System.setProperty( "user.dir", "/path/to/dir" ) ,但据我所知,调用该行只是默默地失败,什么都不做。 我会明白,如果Java不允许你这样做,如果它不允许你得到当前的工作目录,甚至允许你使用相对文件path打开文件….
您好,我想知道是否有可能使用JDBC执行这样的事情,因为它目前提供了一个例外,即使它可能在MySQL查询浏览器。 "SELECT FROM * TABLE;INSERT INTO TABLE;" 虽然我意识到有可能与SQL查询string被拆分和语句执行两次,但我想知道是否有一个一次性的方法。 String url = "jdbc:mysql://localhost:3306/"; String dbName = "databaseinjection"; String driver = "com.mysql.jdbc.Driver"; String sqlUsername = "root"; String sqlPassword = "abc"; Class.forName(driver).newInstance(); connection = DriverManager.getConnection(url+dbName, sqlUsername, sqlPassword);
例如,我有date:“23/2/2010”(2010年2月23日)。 我想把它传递给一个将返回星期几的函数。 我该怎么做? 在这个例子中,函数应该返回String “Tue”。 此外,如果只需要一天的序数,那么如何检索呢?
我遇到了Java套接字API的一些问题。 我试图显示当前连接到我的游戏的玩家数量。 玩家连接时很容易确定。 但是,使用套接字API来确定玩家何时断开连接似乎并不是很困难。 在远程断开的套接字上调用isConnected()总是返回true 。 同样,在远程closures的套接字上调用isClosed()总是返回false 。 我已经阅读到,实际上确定一个套接字是否已经closures,数据必须写入输出stream,并且必须捕获一个exception。 这似乎是处理这种情况的一种非常不洁的方式。 我们只需要不断地通过networking发送垃圾信息来知道套接字何时closures。 有没有其他解决scheme?
我对此感到困惑。 我们中的大多数人都被告知Java中没有任何goto语句。 但是我发现它是Java中的关键字之一。 哪里可以使用? 如果它不能被使用,为什么它被包含在Java中作为关键字?