1.禁用最大化窗口
f.setResizable(false);
2.去掉JFrame的java图标
Image icon = Toolkit.getDefaultToolkit().getImage("");
f.setIconImage(icon);
3.设置窗口为中央显示
a.适用所有窗口
public void centerWindow(Component component) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension scmSize = toolkit.getScreenSize();
Dimension size = component.getPreferredSize();
int width = component.WIDTH,
height = component.HEIGHT;
component.setLocation(scmSize.width / 2 - (width / 2),
scmSize.height / 2 - (height / 2));
}
centerWindow(f);
b.不是对所有的都适用,如对装有Image图象的ImagePanelPanel面板的窗口就不行
setLocationRelativeTo(null);
4.swing 多线程
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestThread extends JFrame {
JPanel jPanel1 = new JPanel();
JButton startButton = new JButton();
JButton stopButton = new JButton();
MyThread thread = null;
public TestThread() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
startButton.setText("start");
startButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
startButton_actionPerformed(e);
}
});
stopButton.setText("stop");
stopButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
stopButton_actionPerformed(e);
}
});
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(startButton, null);
jPanel1.add(stopButton, null);
}
void startButton_actionPerformed(ActionEvent e) {
if (thread != null)
thread.stop();
thread = new MyThread();
thread.start();
}
void stopButton_actionPerformed(ActionEvent e) {
if (thread != null)
thread.stop();
thread = null;
}
public static void main(String[] args) {
TestThread test = new TestThread();
test.setSize(300, 400);
test.show();
}
private class MyThread extends Thread {
public MyThread() {
}
public void run() {
while (true) {
try {
sleep(1000);
} catch (InterruptedException e) {
}
System.out.println("this is a test!");
}
}
}
}
分享到:
相关推荐
在本项目"基于Java Swing的多线程电梯调度模拟"中,我们主要探讨的是如何利用Java的多线程特性来实现一个复杂的系统——电梯调度。这个任务是在操作系统课程中的一个典型作业,它要求开发者模拟真实世界中的电梯运行...
总的来说,Java Swing多线程下载器结合了Java的GUI编程、多线程技术以及文件操作,为用户提供了一个功能强大的下载工具。开发这样一个程序需要深入理解Java的并发编程和Swing组件的使用,同时也需要对网络通信和文件...
9. **外观(Look and Feel)**:Swing支持更改应用的视觉样式,可以设置为系统默认的外观,也可以自定义外观。 10. **JTable和JTree**:用于展示表格数据和树形结构,提供了丰富的功能,如排序、过滤和编辑。 在...
在Swing中,有时我们需要为用户提供一种轻量级的提示机制,比如气泡浮动提示窗口,这通常用于显示临时信息或者提示。在给定的代码中,作者实现了一个自定义的`ToolTip`类来达到这个目的。 `ToolTip`类主要包含了...
在Windows操作系统中,标题栏是窗口的一个重要组成部分,它通常位于窗口的顶部,包含应用程序的图标、窗口的名称以及最大化、最小化和关闭按钮。这些按钮允许用户方便地操作窗口,如扩大显示区域(最大化)、缩小至...
【标题】"java多线程+Socket+Swing做的局域网聊天程序"涉及的核心知识点主要涵盖Java编程、多线程、网络通信以及图形用户界面设计。以下将详细阐述这些关键概念及其在实现局域网聊天程序中的应用。 **1. Java编程**...
标题中的“JAVA+多线程+swing和awt技术+ 飞机大战+学习Java者”揭示了这个压缩包包含的内容是关于Java编程的,特别是涉及到多线程和图形用户界面(GUI)开发,使用了Java的Swing和AWT库来实现一个“飞机大战”的游戏...
尽管缺少源代码,我们可以推断出这个JavaSwing应用涉及到的技术和概念,包括图形用户界面设计、事件处理、多线程、网络编程(如果适用)、游戏逻辑实现以及可能的数据持久化。对于想要学习JavaSwing或者想了解如何...
在“JAVASWING多线程产生随机球”的项目中,开发者利用Swing创建了一个互动的应用程序,用户可以通过鼠标点击在界面上生成一个球体,这个球体会以随机的方向和速度在窗口内移动。下面将详细解释这个项目涉及的知识点...
在这个“使用JavaSwing重写的美化版窗口模板”中,我们可以深入探讨Java Swing在构建美观、交互性强的窗口应用中的运用。 1. **Java Swing基础**: - Swing是Java的轻量级GUI框架,它使用Java2D进行渲染,可以创建...
如何去掉JFrame上的最大化最小化和关闭按钮 在Java中,JFrame是一个基本的GUI组件,用于创建窗口式应用程序。然而,在某些情况下,我们可能需要去掉JFrame上的最大化、最小化和关闭按钮,以实现自定义的窗体样式。...
Swing 提供了多种窗口主题,使得开发者可以为应用创建具有不同视觉风格的界面,以适应不同的操作系统环境,如 Windows、Mac OS(苹果系统)等。在Java Swing中,这些主题通常被称为“LookAndFeel”。 在Java Swing...
在Java开发中,Swing库是用来构建图形用户界面(GUI)的工具包,而多线程则是提升程序并发性能和响应能力的关键技术。Swing虽然是Java语言的一部分,但它设计为单线程模型,主要是为了简化GUI编程并避免复杂的同步...
Java Swing 窗体图标修改 在 Java Swing 中,修改窗体图标可以使用两种方法:使用 Toolkit 类和使用 ImageIcon 类。 方法一:使用 Toolkit 类 使用 Toolkit 类可以非常方便地修改窗体图标。首先,我们需要获取...
Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...
在Java的Swing库中,开发GUI应用程序时,我们经常需要处理多个窗口之间的交互和数据共享,这在实际应用中非常常见,例如在一个主窗口进行操作,然后更新其他子窗口的信息。本示例"swing多窗口联动的实现示例"就是...
Java+Swing即时聊天系统是基于Java编程语言和Swing GUI库构建的,它提供了一个基本的实时通信平台,允许用户进行私聊、公聊以及接收...这样的系统为学习和理解Java的GUI编程、多线程以及网络编程提供了很好的实践案例。
总的来说,Java Swing聊天室项目结合了GUI设计、事件处理、网络编程和多线程技术,是一个全面展示Java桌面应用开发能力的好例子。通过学习和分析这样的项目,开发者不仅可以提升Swing应用的构建技巧,还能加深对Java...
Java多线程文件传输是一个复杂而实用的编程概念,它结合了Java的Socket编程和Swing GUI库,用于实现高效的数据交换。在这个项目中,开发者创建了一个基于Socket的多线程文件传输系统,允许用户通过图形化用户界面...
在这个“java多线程聊天室”项目中,开发者使用Swing构建了一个支持多用户交流的界面,同时利用多线程技术来实现并发处理,确保聊天室的稳定和高效。 首先,让我们深入理解Java Swing的基础。Swing提供了丰富的组件...