`

swing禁用最大化、去掉java图标、设置窗口为中央显示以及多线程

阅读更多
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 Swing的多线程电梯调度模拟"中,我们主要探讨的是如何利用Java的多线程特性来实现一个复杂的系统——电梯调度。这个任务是在操作系统课程中的一个典型作业,它要求开发者模拟真实世界中的电梯运行...

    java Swing 多线程下载器

    总的来说,Java Swing多线程下载器结合了Java的GUI编程、多线程技术以及文件操作,为用户提供了一个功能强大的下载工具。开发这样一个程序需要深入理解Java的并发编程和Swing组件的使用,同时也需要对网络通信和文件...

    Swing插件下载,swing下载,java-swing下载,swing-plugin

    9. **外观(Look and Feel)**:Swing支持更改应用的视觉样式,可以设置为系统默认的外观,也可以自定义外观。 10. **JTable和JTree**:用于展示表格数据和树形结构,提供了丰富的功能,如排序、过滤和编辑。 在...

    java Swing 气泡浮动提示窗口代码

    在Swing中,有时我们需要为用户提供一种轻量级的提示机制,比如气泡浮动提示窗口,这通常用于显示临时信息或者提示。在给定的代码中,作者实现了一个自定义的`ToolTip`类来达到这个目的。 `ToolTip`类主要包含了...

    禁用标题栏上的最大化、最小化和关闭按钮

    在Windows操作系统中,标题栏是窗口的一个重要组成部分,它通常位于窗口的顶部,包含应用程序的图标、窗口的名称以及最大化、最小化和关闭按钮。这些按钮允许用户方便地操作窗口,如扩大显示区域(最大化)、缩小至...

    java多线程+Socket+Swing做的局域网聊天程序

    【标题】"java多线程+Socket+Swing做的局域网聊天程序"涉及的核心知识点主要涵盖Java编程、多线程、网络通信以及图形用户界面设计。以下将详细阐述这些关键概念及其在实现局域网聊天程序中的应用。 **1. Java编程**...

    JAVA+多线程+swing和awt技术+ 飞机大战+学习Java者

    标题中的“JAVA+多线程+swing和awt技术+ 飞机大战+学习Java者”揭示了这个压缩包包含的内容是关于Java编程的,特别是涉及到多线程和图形用户界面(GUI)开发,使用了Java的Swing和AWT库来实现一个“飞机大战”的游戏...

    JavaSwing多人猜拳

    尽管缺少源代码,我们可以推断出这个JavaSwing应用涉及到的技术和概念,包括图形用户界面设计、事件处理、多线程、网络编程(如果适用)、游戏逻辑实现以及可能的数据持久化。对于想要学习JavaSwing或者想了解如何...

    JAVASWING多线程产生随机球

    在“JAVASWING多线程产生随机球”的项目中,开发者利用Swing创建了一个互动的应用程序,用户可以通过鼠标点击在界面上生成一个球体,这个球体会以随机的方向和速度在窗口内移动。下面将详细解释这个项目涉及的知识点...

    使用JavaSwing重写的美化版窗口模板

    在这个“使用JavaSwing重写的美化版窗口模板”中,我们可以深入探讨Java Swing在构建美观、交互性强的窗口应用中的运用。 1. **Java Swing基础**: - Swing是Java的轻量级GUI框架,它使用Java2D进行渲染,可以创建...

    如何去掉JFrame上的最大化最小化和关闭按钮.doc

    如何去掉JFrame上的最大化最小化和关闭按钮 在Java中,JFrame是一个基本的GUI组件,用于创建窗口式应用程序。然而,在某些情况下,我们可能需要去掉JFrame上的最大化、最小化和关闭按钮,以实现自定义的窗体样式。...

    javaSwing各种主题窗口

    Swing 提供了多种窗口主题,使得开发者可以为应用创建具有不同视觉风格的界面,以适应不同的操作系统环境,如 Windows、Mac OS(苹果系统)等。在Java Swing中,这些主题通常被称为“LookAndFeel”。 在Java Swing...

    JAVA 开发 Swing与多线程

    在Java开发中,Swing库是用来构建图形用户界面(GUI)的工具包,而多线程则是提升程序并发性能和响应能力的关键技术。Swing虽然是Java语言的一部分,但它设计为单线程模型,主要是为了简化GUI编程并避免复杂的同步...

    修改Javaswing窗体图标.pdf

    Java Swing 窗体图标修改 在 Java Swing 中,修改窗体图标可以使用两种方法:使用 Toolkit 类和使用 ImageIcon 类。 方法一:使用 Toolkit 类 使用 Toolkit 类可以非常方便地修改窗体图标。首先,我们需要获取...

    java swing漂亮界面(超酷) javaswing教程

    Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...

    swing多窗口联动的实现示例

    在Java的Swing库中,开发GUI应用程序时,我们经常需要处理多个窗口之间的交互和数据共享,这在实际应用中非常常见,例如在一个主窗口进行操作,然后更新其他子窗口的信息。本示例"swing多窗口联动的实现示例"就是...

    Java+Swing即时聊天系统,客户端和服务端,多线程,socket

    Java+Swing即时聊天系统是基于Java编程语言和Swing GUI库构建的,它提供了一个基本的实时通信平台,允许用户进行私聊、公聊以及接收...这样的系统为学习和理解Java的GUI编程、多线程以及网络编程提供了很好的实践案例。

    java+swing聊天室

    总的来说,Java Swing聊天室项目结合了GUI设计、事件处理、网络编程和多线程技术,是一个全面展示Java桌面应用开发能力的好例子。通过学习和分析这样的项目,开发者不仅可以提升Swing应用的构建技巧,还能加深对Java...

    java多线程文件传输(基于swing)

    Java多线程文件传输是一个复杂而实用的编程概念,它结合了Java的Socket编程和Swing GUI库,用于实现高效的数据交换。在这个项目中,开发者创建了一个基于Socket的多线程文件传输系统,允许用户通过图形化用户界面...

    java多线程聊天室(使用swing)

    在这个“java多线程聊天室”项目中,开发者使用Swing构建了一个支持多用户交流的界面,同时利用多线程技术来实现并发处理,确保聊天室的稳定和高效。 首先,让我们深入理解Java Swing的基础。Swing提供了丰富的组件...

Global site tag (gtag.js) - Google Analytics