找到关于 Java8 的270 篇文章
808 次浏览
使用 JDK 7,我们可以非常轻松地使用 Swing 创建形状窗口。以下是创建形状窗口所需的步骤:向框架添加组件监听器并覆盖 componentResized() 方法以更改框架的形状。每当窗口大小更改时,此方法都会正确地重新计算框架的形状。frame.addComponentListener(new ComponentAdapter() { @Override public void componentResized(ComponentEvent e) { frame.setShape(new RoundRectangle2D.Double(0, 0, frame.getWidth(), frame.getHeight(), 20, 20)); } });示例请参见下面形状窗口的示例。import java.awt.Color; import java.awt.GridBagLayout; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.geom.Ellipse2D; import java.awt.geom.RoundRectangle2D; import ... 阅读更多
21K+ 次浏览
Swing API 是一套可扩展的 GUI 组件,可以简化开发人员创建基于 JAVA 的前端/GUI 应用程序的工作。它构建在 AWT API 之上,并作为 AWT API 的替代品,因为它几乎拥有与 AWT 控件相对应的每个控件。以下示例展示了一个简单的计算器应用程序。import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Calculator implements ActionListener { private static JTextField inputBox; Calculator(){} public static void main(String[] args) { createWindow(); } ... 阅读更多
748 次浏览
您可以暂停任意时间段,从一毫秒到计算机的寿命。例如,以下程序将暂停 3 秒 - 示例实时演示import java.util.*; public class SleepDemo { public static void main(String args[]) { try { System.out.println(new Date( ) + ""); Thread.sleep(5*60*10); System.out.println(new Date( ) + ""); } catch (Exception e) { System.out.println("Got an exception!"); } } }这将产生以下结果 - 输出Sun May 03 18:04:41 GMT 2009 Sun May 03 18:04:51 GMT 2009
1K+ 次浏览
吐司消息是一种会自动消失的警报。使用 JDK 7,我们可以非常轻松地创建类似于 Android 上警报的吐司消息。以下是创建吐司消息所需的步骤。创建一个圆角矩形框架。向框架添加组件监听器并覆盖 componentResized() 方法以更改框架的形状。每当窗口大小更改时,此方法都会正确地重新计算框架的形状。frame.addComponentListener(new ComponentAdapter() { @Override public void componentResized(ComponentEvent e) { frame.setShape(new RoundRectangle2D.Double(0, 0, frame.getWidth(), frame.getHeight(), 20, 20)); } ... 阅读更多
300 次浏览
使用 JDK 7,我们可以非常轻松地使用 Swing 创建半透明窗口。使用以下代码,可以使 JFrame 半透明。// 将窗口设置为 55% 不透明度 (45% 半透明)。 frame.setOpacity(0.55f);示例请参见下面具有 55% 半透明度的窗口示例。import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class Tester { public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); // 在事件分派线程上创建 GUI SwingUtilities.invokeLater(new Runnable() { @Override public void ... 阅读更多
804 次浏览
在 Java 中,非静态 final 变量可以在两个地方赋值。在声明时。在构造函数中。示例实时演示public class Tester { final int A; // 场景 1:声明时赋值 final int B = 2; public Tester() { // 场景 2:在构造函数中赋值 A = 1; } public void display() { System.out.println(A + ", " + B); } public static void main(String[] args) { Tester tester = new Tester(); ... 阅读更多
224 次浏览
在 Java 中进行整数值运算时,我们需要注意 int 下溢和上溢的情况。考虑到在 Java 中,int 数据类型是一个 32 位带符号的二进制补码整数,其最小值为 -2,147,483,648,最大值为 2,147,483,647。如果值超过最大可能值,则值将返回到最小值并从最小值继续。类似地,对于小于最小值的值也会发生这种情况。考虑以下示例。示例实时演示public class Tester { ... 阅读更多
265 次浏览
此示例演示如何使用 FileStreams 类的读取和写入方法将一个文件的内容复制到另一个文件中。示例实时演示import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedWriter out1 = new BufferedWriter(new FileWriter("srcfile")); out1.write("string to be copied"); out1.close(); InputStream in = new FileInputStream(new File("srcfile")); OutputStream out = new FileOutputStream(new File("destnfile")); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { ... 阅读更多
3K+ 次浏览
我们可以使用以下方法将流转换为集合。使用 stream.collect() 和 Collectors.toSet() 方法 - Stream collect() 方法迭代其元素并将它们存储在集合中。collect(Collector.toSet()) 方法。使用 set.add() 方法 - 使用 forEach 迭代流,然后将每个元素添加到集合中。示例实时演示import java.util.*; import java.util.stream.Stream; import java.util.stream.Collectors; public class Tester { public static void main(String[] args) { Stream stream = Stream.of("a", "b", "c", "d"); // 方法 1 Set set = stream.collect(Collectors.toSet()); set.forEach(data -> System.out.print(data + " ")); ... 阅读更多