精华内容
下载资源
问答
  • java窗口应用
    千次阅读
    2021-03-21 09:35:41

    窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。

    如果直接调用这个方法后,的确设置了背景颜色,但看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane(),而JFrame上的contentPane默认是Color.WHITE的。所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane。

    解决方法:

    方法一:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。

    代码如下:import javax.swing.*;

    import java.awt.*

    publicclassTestMenuBar1 {

    publicstaticvoid main(String arg[]) {

    createNewMenu ck=newcreateNewMenu("第一个窗口");

    }

    }

    classcreateNewMenu extendsJFrame{

    publiccreateNewMenu(String title) {

    getContentPane().setVisible(false);

    setBackground(Color.blue);  //设置窗口背景颜色

    setTitle(title);

    setBounds(200,200,500,500); //设置窗口位置和大小

    setVisible(true);  //设置窗口可见

    }

    }

    方法二:直接加 this.getContentPane().setBackground(Color.blue);

    代码如下:import java.awt.*;

    import javax.swing.*;

    publicclassTestMenuBar1 {

    publicstaticvoid main(String arg[]) {

    createNewMenu ck=newcreateNewMenu("第一个窗口");

    }

    }

    classcreateNewMenu extendsJFrame{

    publiccreateNewMenu(String title) {

    setTitle(title);

    setBounds(200,200,500,500);

    setVisible(true);

    this.getContentPane().setBackground(Color.blue);

    }

    }

    更多相关内容
  • Java窗口编程示例

    千次阅读 2022-03-15 09:00:22
    Java窗口编程示例

    Java多窗口编程示例

    Java GUI基础

    GUI:GraphicalUser Interface,即图形用户界面,用于计算机与用户交互的一种方式。

    计算机与用户交互的两种方式:GUI和CLI

    GUI: Graphical User Interface,图形用户接口,用图形方式,来显示计算机操作界面,方便直观。

    CLI: Command LineUser Interface,命令行用户接口,即常见的Dos命令行操作,须记住一些命令,操作不直观。

    Java的GUI常用两个包:java.Awt包和javax.Swing包。

    java.Awt包:Abstract Window Toolkit,即抽象窗口工具包。要调用本地系统方法实现功能,属重量级控件。是最早的 Java GUI 开发工具包(类库)。

    javax.Swing包:在AWT的基础上建立的一套图形界面系统,其中提供了更多的组件,且完全由java实现,增强了移植性,属轻量级控件。

    Swing 是一个用于 Java GUI 编程(图形界面设计)的工具包(类库),Swing 使用纯粹的 Java 代码来模拟各种控件(使用 Java 自带的作图函数绘制出各种控件),没有使用本地操作系统的内在方法,所以 Swing 是跨平台的实现了“一次编译,到处运行”。也正是因为 Swing 的这种特性,人们通常把 Swing 控件称为轻量级控件。并且,Swing 提供了比 AWT 更多的图形界面组件,因此可以开发出美观的图形界面程序。

    【在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。例如:

    1)对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。

    2)在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素。所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。】

    Swing是AWT的增强组件,但是并不能完全替代AWT。只是替代AWT的一些组件类,并没有替代事件处理,继续沿用AWT中的布局管理器。写swing的话,还是要用到不少awt的内容的。

    还有JavaFX一种GUI技术,可以使用XML进行布局,支持CSS。写JavaFX的话,不需要swing和awt。

    本文重点介绍Swing。使用Swing设计图形界面,主要引入两个包:
    javax.swing包:包含Swing的基本类;
    java.awt.event包:包含与处理事件相关的接口和类。

    Swing 围绕 JComponent 组件构建,JComponent 则由 AWT 的容器类扩展而来。Swing 组织结构如下图所示:

    Swing 组件除了 AbstmctButton 类之外都以 J 开头。Swing 容器组件直接继承 AWT 类库中的容器组件类,其他大部分组件都是继承 JComponet 组件。组件可以划分为容器组件和非容器组件,容器组件包括 JFmme 和 JDialog。

    在 Swing 中,任何其他组件都必须位于一个顶层容器中。JFrame 窗口和 JPanel 面板是常用的顶层容器。

    组件(component)是图形界面的基本元素,用户可以直接操作,例如按钮。容器(Container)是图形界面的的复合元素,容器可以包含组件,例如面板。

    Swing的框架窗口(JFrame)这是通常意义上的窗口,它支持窗口周边的框架、标题栏,以及最小化、最大化和关闭按钮。

    Swing的面板(Panel)是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。

    每个容器都有一个布局管理器,由它来决定如何安排放入容器内的的组件。

    为组件安排在容器中的位置,这就是布局(Layout)设计。

    一个简单的窗口程序,源码如下:

    import javax.swing.*;
    
    public class SimpleWindow {
    
        public static void main(String[] args) {
            // 1. 创建一个顶层容器(窗口)
            JFrame jf = new JFrame("测试窗口");      // 创建窗口
            jf.setSize(250, 250);                   // 设置窗口大小
            jf.setLocationRelativeTo(null);         // 把窗口位置设置到屏幕中心
            jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)
    
            // 2. 创建中间容器(面板容器)
            JPanel panel = new JPanel();            // 创建面板容器,使用默认的布局管理器
    
            // 3. 创建一个基本组件(按钮),并添加到 面板容器 中
            JButton btn = new JButton("测试按钮");
            panel.add(btn);
    
            // 4. 把 面板容器 作为窗口的内容面板 设置到 窗口
            jf.setContentPane(panel);
    
            // 5. 显示窗口,前面创建的信息都在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。
            jf.setVisible(true);
        }
    
    }
    

    运行效果如下:

    改变对象的状态被称为事件,即事件描述源的状态变化。事件表示程序和用户之间的交互。例如,点击一个按钮,移动鼠标,通过键盘输入一个字符,从列表中选择一个项目,滚动页面都是导致一个事件发生的活动。

    举例,用户点击按钮或选择菜单项目时,Swing组件会产生一个ActionEvent。通过注册监听器,我们可以监听事件源产生的事件。

    事件(Event) 一个对象,它描述了发生什么事情。用户对界面操作在java语言上的描述,以类的对象形式出现,例如键盘操作对应的事件对象是KeyEvent。

    事件源(Event source)产生事件的组件对象,通常就是各个组件,如按钮JButton。

    事件监听器(Event listener)一个对象,调用事件处理方法的对象。

    事件处理方法(Event handler) 一个方法(函数,成员方法),接收、解析和处理事件类对象、实现和用户交互处理。

    AWT和Swing的事件处理机制流程一样:

    事件处理的流程

    外部诱使事件源状态发生变化,产生事件对象,然后事件监听器监听到该事件的发生,做出响应。

    1、首先将事件监听器注册到事件源上面

    2、触发事件源上的事件(改变状态)

    3、生成事件对象

    4、事件监听器监听到该事件的发生,生成的事件对象当做参数传入事件处理器(监听器类中的方法)

    5、调用事件处理器做出响应

    事件处理主要步骤

    • 选择组件作为事件源,不同类型的组件会产生特定类型的事件,假

    设该事件类型为XXXEvent;

    • 定义要接收并处理某种类型的事件,注册相应的事件监听器类,通

    过调用组件方法向组件注册事件监听器。

    • 实现XXXListener类的实例对象,据此可作为事件的监听器对象。监

    听器的注册与注销如下:

    eevvenenttssour ourcceeOObbjjeecctt..add addXXXXXXLLiissttener ener((XXX XXXLLiissttene enerr LLiissttener); ener);

    pub publliicc vvooiidd add addXXXXXXLLiissttener( ener(XXX XXXLLiissttene enerr lliissttener); ener);

    pub publliicc vvooiidd rreemmoovveeXXXXXXLLiissttener ener((XXX XXXLLiissttene enerr lliisstteener);

     事件处理的简单例子,源码如下:

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    	
    public class TestEvent {
    	public static void main(String[] args) {
    		JFrame myFrame = new JFrame();
    		JButton btn = new JButton("点击我");
    		JTextField field = new JTextField(10); //JTextField(10)长度为10的文本输入框
    		//使用Jpanel容器装载JButton和JTextFiedl组件
    		JPanel jPanel = new JPanel();
    		jPanel.add(btn);
    		jPanel.add(field);
    		myFrame.add(jPanel);
    		//设置窗口的大小宽高都为300像素以及位置距离屏幕左上方向右300像素以及向下300像素
    		myFrame.setBounds(300, 300, 300, 300);
    		//必须设置这个属性 才可以看见窗口
    		myFrame.setVisible(true);
    		
    		//为btn设置事件监听器 监听器采用匿名内部类的形式		
    		btn.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				field.setText("Button被点击了");
    			}
    		});
    	}
    
    }	
    

    运行之效果如下:

    Swing继续沿用AWT中的布局管理器,包括FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout,另外Swing新增加了一个BoxLayout布局管理器。

    Java 窗口切换

    例1、先给出运行效果图:

    本例源码文件有两个

    Login.,java源码文件

    package test; 
    import java.awt.Dimension;  //封装了一个构件的高度和宽度
    import java.awt.FlowLayout;
    import java.awt.Font;
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.JPasswordField;
    import javax.swing.JButton;
     
    public class Login {
     
    	//在类中定义主函数
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//在主函数中,实例化Login类的对象,调用初始化界面的方法
    		Login login = new Login();
    		login.initUI();
     
    	}
    	
    	//在类中定义初始化界面的方法
    	public void initUI() {
    		//在initUI中实例化JFrame类的对象
    		JFrame frame = new JFrame();
    		//设置窗体对象的属性值
    		frame.setTitle("Login,账号vv,密码123456");//设置窗体标题
    		frame.setSize(400, 250);//设置窗体大小,只对顶层容器生效
    		frame.setDefaultCloseOperation(3);//设置窗体关闭操作,3表示关闭窗体退出程序
    		frame.setLocationRelativeTo(null);//设置窗体相对于另一组间的居中位置,参数null表示窗体相对于屏幕的中央位置
    		frame.setResizable(false);//禁止调整窗体大小
    		frame.setFont(new Font("宋体",Font.PLAIN,14));//设置字体,显示格式正常,大小
    		
    		//实例化FlowLayout流式布局类的对象,指定对齐方式为居中对齐组件之间的间隔为10个像素
    		FlowLayout fl = new FlowLayout(FlowLayout.CENTER,10,10);
    		//实例化流式布局类的对象
    		frame.setLayout(fl);
    		
    		//实例化JLabel标签对象,该对象显示“账号”
    		JLabel labname = new JLabel("账号:");
    		labname.setFont(new Font("宋体",Font.PLAIN,14));
    		//将labname标签添加到窗体上
    		frame.add(labname);
    		
    		//实例化JTextField标签对象化
    		JTextField text_name = new JTextField();
    		Dimension dim1 = new Dimension(300,30);
    		text_name.setPreferredSize(dim1);//设置除顶级容器组件以外其他组件的大小
    		//将textName标签添加到窗体上
    		frame.add(text_name);
    		
    		//实例化JLabel标签对象,该对象显示“密码”
    		JLabel labpass = new JLabel("密码:");
    		labpass.setFont(new Font("宋体",Font.PLAIN,14));
    		//将labpass添加到窗体上
    		frame.add(labpass);
    			
    		//实例化JPasswordField
    		JPasswordField text_password = new JPasswordField();
    		//设置大小
    		text_password.setPreferredSize(dim1);
    		//添加到窗体
    		frame.add(text_password);
    		
    		//实例化JButton组件
    		JButton button1 = new JButton();
    		//设置按键的显示内容
    		Dimension dim2 = new Dimension(100,30);
    		button1.setText("登录");
    		button1.setFont(new Font("宋体",Font.PLAIN,14));
    		//设置按键大小
    		button1.setSize(dim2);
    		frame.add(button1);
    			
    		frame.setVisible(true);//窗体可见,一定要放在所有组件加入窗体后
    		
    		LoginListener ll = new LoginListener(frame,text_name,text_password);
    		button1.addActionListener(ll);
    	}
    }
    

    LoginListener.java源码文件

    package test; 
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.Font;
     
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class LoginListener implements ActionListener{
        private javax.swing.JTextField text_name;
        private javax.swing.JPasswordField text_password;
        private javax.swing.JFrame login;
        
        public LoginListener(javax.swing.JFrame login,javax.swing.JTextField text_name,javax.swing.JPasswordField text_password)
        {//获取登录界面、账号密码输入框对象
            this.login=login;
            this.text_name=text_name;
            this.text_password=text_password;
        }
        
        int i=3;//3次登录机会
        
        public void actionPerformed(ActionEvent e)
        {
            Dimension dim2 = new Dimension(100,30);
            Dimension dim3 = new Dimension(300,30);
            
            //生成新界面
            javax.swing.JFrame login2 = new javax.swing.JFrame();
            login2.setSize(500,300);
            login2.setTitle("主窗体");//设置窗体标题
            login2.setDefaultCloseOperation(3);
            login2.setLocationRelativeTo(null);
            login2.setFont(new Font("宋体",Font.PLAIN,14));  //宋体,正常风格,14号字体
            //创建组件
            javax.swing.JPanel jp1 = new JPanel();
            javax.swing.JPanel jp2 = new JPanel();
                //用户名和密码
                if(text_name.getText().equals("vv") && text_password.getText().equals("123456"))
                {   
                    JLabel message = new JLabel("登陆成功!");
                    message.setFont(new Font("宋体",Font.PLAIN,14));  //宋体,正常风格,14号字体
                    message.setPreferredSize(dim3);
                    jp1.add(message);
                    login2.add(jp1,BorderLayout.CENTER);
                    
                    login2.setResizable(false);
                    login2.setVisible(true);
                    
                    //通过我们获取的登录界面对象,用dispose方法关闭它
                    login.dispose();
                }
                
                else if(i>=2)
                {
                    JLabel message = new JLabel("账号或密码错误,您今天还有"+(i-1)+"次机会");
                    message.setFont(new Font("宋体",Font.PLAIN,14));  //宋体,正常风格,14号字体
                    message.setPreferredSize(dim3);
                    //将textName标签添加到窗体上
                    jp1.add(message);
                    login2.add(jp1,BorderLayout.CENTER);
                    
                    JButton close = new JButton("确定");
                    close.setFont(new Font("宋体",Font.PLAIN,14));
                    //设置按键大小
                    close.setSize(dim3);
                    jp2.add(close);
                    login2.add(jp2,BorderLayout.SOUTH);
                    
                    i--;//次数减少
                    close.addActionListener(new ActionListener()
                    {
                        public void actionPerformed(ActionEvent e)
                        {
                            login2.dispose();
                        }
                    });
                    
                    login2.setResizable(false);
                    login2.setVisible(true);
                }
                
                else if(i == 1)
                {
                    JLabel message = new JLabel("账号已锁定,请明天再试");
                    message.setFont(new Font("宋体",Font.PLAIN,14));  //宋体,正常风格,14号字体
                    message.setPreferredSize(dim3);
                    //将textName标签添加到窗体上
                    jp1.add(message);
                    login2.add(jp1,BorderLayout.CENTER);
                    
                    JButton close = new JButton("确定");
                    close.setFont(new Font("宋体",Font.PLAIN,14));
                    //设置按键大小
                    close.setSize(dim3);
                    jp2.add(close);
                    login2.add(jp2,BorderLayout.SOUTH);
                    
                    close.addActionListener(new ActionListener()
                    {
                        public void actionPerformed(ActionEvent e)
                        {
                            login2.dispose();
                        }
                    });
                    
                    login2.setResizable(false);
                    login2.setVisible(true);
                    
                    //通过我们获取的登录界面对象,用dispose方法关闭它
                    login.dispose();
                }
        }
    }
    

    例2、先给出运行效果图:

    本例源码文件有两个

    Frame1.java源码文件

    package winA;
    import javax.swing.SwingUtilities;
    import javax.swing.JPanel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import java.awt.Rectangle;
    public class Frame1 extends JFrame implements ActionListener {
        private static final long serialVersionUID = 1L;
        private JPanel jContentPane = null;
        private JButton jButton = null;
        public void actionPerformed(ActionEvent arg0) {
                Frame2 f2=new Frame2(this);
                f2.setVisible(true);
                this.setVisible(false);
        }
        private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setBounds(new Rectangle(92, 62, 105, 35));
                jButton.setText("进入子窗体");
                jButton.addActionListener(this);
            }
            return jButton;
        }
        public static void main(String[] args) {
            // TODO 自动生成方法存根
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    Frame1 thisClass = new Frame1();
                    thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    thisClass.setVisible(true);
                }
            });
        }
    
        public Frame1() {
            super();
            initialize();
        }
        private void initialize() {
            this.setSize(300, 200);
            this.setContentPane(getJContentPane());
            this.setTitle("主窗体");
        }
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(null);
                jContentPane.add(getJButton(), null);
            }
            return jContentPane;
        }
    }
    
    

    Frame2.java源码文件

    package winA;
    import javax.swing.SwingUtilities;
    import javax.swing.JPanel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import java.awt.Rectangle;
    public class Frame2 extends JFrame implements ActionListener, WindowListener {
        private static final long serialVersionUID = 1L;
        private JPanel jContentPane = null;
        private JButton jButton = null;
        private Frame1 f1=null;
        public void actionPerformed(ActionEvent arg0) {
            f1.setVisible(true);
            this.setVisible(false);
        }
        private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setBounds(new Rectangle(85, 48, 105, 39));
                jButton.setText("回到主窗体");
                jButton.addActionListener(this);
            }
            return jButton;
        }
        public static void main(String[] args) {
            // TODO 自动生成方法存根
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    Frame2 thisClass = new Frame2();
                    thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    thisClass.setVisible(true);
                }
            });
        }
        public Frame2() {
            super();
            initialize();
        }
        public Frame2(Frame1 f) {
            this();
            f1=f;
        }
        private void initialize() {
            this.setSize(300, 200);
            this.setContentPane(getJContentPane());
            this.setTitle("子窗体");
            this.addWindowListener(this);
        }
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(null);
                jContentPane.add(getJButton(), null);
            }
            return jContentPane;
        }
        public void windowActivated(WindowEvent arg0) {
        }
        public void windowClosed(WindowEvent arg0) {
        }
        public void windowClosing(WindowEvent arg0) {
            f1.setVisible(true);
        }
        public void windowDeactivated(WindowEvent arg0) {
        }
        public void windowDeiconified(WindowEvent arg0) {
        }
        public void windowIconified(WindowEvent arg0) {
        }
        public void windowOpened(WindowEvent arg0) {
        }
    }
    

    展开全文
  • 一个简单的java窗口程序

    千次阅读 2021-03-01 10:56:11
    一个简单的java窗口程序.前几日看康辉老师的吉大JAVA培训教程,看到一个并没有完全给出源代码的例子在这里补充完整,功能很简单,用最简单的方法来实现,没有涉及到太多复杂的东西没有全部完成,只有主体框架,字体...

    一个简单的java窗口程序.

    前几日看康辉老师的吉大JAVA培训教程,看到一个并没有完全给出源代码的例子

    在这里补充完整,功能很简单,用最简单的方法来实现,没有涉及到太多复杂的东西

    没有全部完成,只有主体框架,字体设置和颜色设置那里的事件没实现,今天有点累,明天补上

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    class Title extends JFrame

    {

    private JMenuBar jMenuBar;

    private JMenu fileMenu;

    private JMenu setMenu;

    private JMenu fontMenu;

    private JMenu colorMenu;

    private JMenuItem aboutMenuItem;

    private JMenuItem exitMenuItem;

    private JRadioButtonMenuItem fontRadioButtonItem[],colorRadioButtonItem[];

    private JCheckBoxMenuItem styleCheckBoxItem[];

    private JLabel label;

    private Container container;

    private final String colors[]={“Black”,”Blue”,”Red”,”Green”};

    private final String fonts[]={“Serif”,”Monospaced”,”SansSerif”};

    private final String styles[]={“Bold”,”Italic”};

    public Title()

    {

    super(“字体样式和颜色的设定”);

    jMenuBar=new JMenuBar();

    fileMenu=new JMenu(“文件(F)”);

    fileMenu.setMnemonic(‘F’);

    jMenuBar.add(fileMenu);

    aboutMenuItem=new JMenuItem(“关于(A)”);

    aboutMenuItem.setMnemonic(‘A’);

    fileMenu.add(aboutMenuItem);

    aboutMenuItem.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e) {

    JOptionPane.showMessageDialog(Title.this, “关于这个程序:参考自吉大JAVA培训,六翼修改”);

    }

    });

    exitMenuItem=new JMenuItem(“退出(X)”);

    exitMenuItem.setMnemonic(‘X’);

    fileMenu.add(exitMenuItem);

    exitMenuItem.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e) {

    System.exit(1);

    }

    });

    setMenu=new JMenu(“设置(S)”);

    setMenu.setMnemonic(‘S’);

    jMenuBar.add(setMenu);

    fontMenu= new JMenu(“字体(T)”);

    fontMenu.setMnemonic(‘T’);

    setMenu.add(fontMenu);

    colorMenu=new JMenu(“颜色(C)”);

    colorMenu.setMnemonic(‘C’);

    setMenu.add(colorMenu);

    fontRadioButtonItem=new JRadioButtonMenuItem[fonts.length];

    ButtonGroup fontGroup=new ButtonGroup();

    for(int count=0;count

    {

    fontRadioButtonItem[count]=new JRadioButtonMenuItem(fonts[count]);

    fontMenu.add(fontRadioButtonItem[count]);

    fontGroup.add(fontRadioButtonItem[count]);

    }

    fontRadioButtonItem[0].setSelected(true);

    fontMenu.addSeparator();

    styleCheckBoxItem=new JCheckBoxMenuItem[styles.length];

    for(int count=0;count

    {

    styleCheckBoxItem[count]=new JCheckBoxMenuItem(styles[count]);

    fontMenu.add(styleCheckBoxItem[count]);

    }

    colorRadioButtonItem=new JRadioButtonMenuItem[colors.length];

    ButtonGroup colorGroup=new ButtonGroup();

    for(int count=0;count

    {

    colorRadioButtonItem[count]=new JRadioButtonMenuItem(colors[count]);

    colorMenu.add(colorRadioButtonItem[count]);

    colorGroup.add(colorRadioButtonItem[count]);

    }

    colorRadioButtonItem[0].setSelected(true);

    container=getContentPane();

    setJMenuBar(jMenuBar);

    setSize(500,400);

    setVisible(true);

    }

    }

    public class FontsAndColor {

    /**

    * @param args

    */

    public static void main(String[] args) {

    Title application=new Title();

    application.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    }

    }

    展开全文
  • Java窗口美化包(JTattoo)

    2019-03-05 11:52:54
    Java应用广泛的窗口美化包(JTattoo),开发漂亮大气的UI界面
  • 比如现在有一个桌面应用。我现在要抓取这个桌面应用输入框或者其他控件的内容
  • ** JAVA如何实现窗口化,毕设问题。...Java编写桌面应用程序叫作Swing 首先导包 import java.io.*; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.JTextFi

    **

    JAVA如何实现窗口化,毕设问题。

    **

    相信很多毕业生在做毕设这方面都有些难点 ,今天我要说的就是我亲身经历的难点基于JAVA的毕设如何去实现窗口化。

    开发工具:Eclipse

    开发语言: JAVA

    Java编写桌面应用程序叫作Swing

    首先导包

    import java.io.*;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    

    JWindow(无边框窗口):没有标题栏,没有框架,只是一个矩形。
    JFrame(框架窗口) :通常意义上的窗口,它支持窗口周边的框架,标题栏,最小化,最大化,关闭按钮。用Swing 中的JFrame类或他的子类创建的对象就是JFrame窗口。
    JLabel(标签)标签主要用于展示 文本 或 图片,也可以 同时显示文本和图片。
    JButton(按钮)创建一个没有设置文本或图标的按钮。
    JTextField()是一个允许编辑单行文本的组件。

    定义一个构造器

    public class denglu extends JFrame {
    	//定义构造器
    	public denglu(){
    		this.setLayout(null);	//设置布局管理器
    		JButton b1= new JButton();
    		JButton b2= new JButton();
    		JTextField t1= new JTextField();
    		JTextField t2= new JTextField();
    		JLabel j1 = new JLabel();	//定义一个标签
    		JLabel j2 = new JLabel();
    		j1.setText("账号:");	//设置显示文字
    		j2.setText("密码:");
    		j1.setBounds(130,40,50,20);	//设置标签的大小和位置
    		j2.setBounds(130,80,50,20);
    		b1.setText("登录");
    		b2.setText("退出");
    		b1.setBounds(100,150,80,20);	//设置标签的大小和位置
    		b2.setBounds(300,150,80,20);
    		t1.setText("");
    		t2.setText("");
    		t1.setBounds(180,40,180,20);	//设置标签的大小和位置
    		t2.setBounds(180,80,180,20);
    		this.add(t1);
    		this.add(t2);
    		this.add(b1);
    		this.add(b2);
    		this.add(j1);
    		this.add(j2);//将标签放到窗口中
    		this.setBounds(200,250,500,300);	//设置窗口的大小和位置
    		this.setVisible(true);
    	}
    	public static void main(String[] args) {
    		denglu s = new denglu();
    		
    
    	}
    

    代码直接粘贴就行
    运行结果如截图

    登录窗口

    完整代码

    package denglu;
    
    import java.io.*;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    
    public class denglu extends JFrame {
    	//定义构造器
    	public denglu(){
    		this.setLayout(null);	//设置布局管理器
    		JButton b1= new JButton();
    		JButton b2= new JButton();
    		JTextField t1= new JTextField();
    		JTextField t2= new JTextField();
    		JLabel j1 = new JLabel();	//定义一个标签
    		JLabel j2 = new JLabel();
    		j1.setText("账号:");	//设置显示文字
    		j2.setText("密码:");
    		j1.setBounds(130,40,50,20);	//设置标签的大小和位置
    		j2.setBounds(130,80,50,20);
    		b1.setText("登录");
    		b2.setText("退出");
    		b1.setBounds(100,150,80,20);	//设置标签的大小和位置
    		b2.setBounds(300,150,80,20);
    		t1.setText("");
    		t2.setText("");
    		t1.setBounds(180,40,180,20);	//设置标签的大小和位置
    		t2.setBounds(180,80,180,20);
    		this.add(t1);
    		this.add(t2);
    		this.add(b1);
    		this.add(b2);
    		this.add(j1);
    		this.add(j2);//将标签放到窗口中
    		this.setBounds(200,250,500,300);	//设置窗口的大小和位置
    		this.setVisible(true);
    	}
    	public static void main(String[] args) {
    		denglu s = new denglu();
    		
    	}
    大小和位置
    		this.setVisible(true);
    	}
    	public static void main(String[] args) {
    		denglu s = new denglu();
    		
    	}
    }
    
    展开全文
  • 这种方式,是调出Windows系统cmd窗口的方式去打开文件夹,受系统的约束 Runtime.getRuntime().exec("explorer :D:\\"); 这种是纯java的方式,不受系统的约束 Desktop.getDesktop().open(new File("D...
  • 得到Java程序的WIN32窗口句柄(转)

    千次阅读 2021-03-09 22:36:37
    我们知道C++的每个窗体都对应着一个句柄HWND,通过这个句柄...如果存在的话我们怎么来在Java程序中得到它并利用它来操作这个窗口呢?用spy++查看一下,Frame或者JFrame的对象或者子类对象确实都是存在这个窗口句柄的...
  • java获取其他应用程序的窗口控件

    千次阅读 2019-06-02 11:16:38
    ... 比如现在有一个桌面应用。我现在要抓取这个桌面应用输入框或者其他控件的内容 ...我的毕业设计中需要在Windows平台上面跨进程操作窗口。实际上是获取浏览器上面的网页中的文本框元素,还有windows32窗体上面的编...
  • 这是一个例子:StartupWindow.javaimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.SwingUtilities;public ...
  • 自定义Java窗口标题栏菜单

    千次阅读 2021-03-09 03:41:46
    我试图允许用户在Java中更改窗口的标题,而无需向窗口本身添加组件.我实际上正在尝试使用JInternalFrame进行此操作,但是图解决方案应该与JFrame类似.我只是想在右键单击窗口标题栏时弹出的上下文菜单中添加一个附加...
  • Java实现设置窗口颜色和大小

    千次阅读 2020-10-29 11:07:24
    1.问题描述:利用Swing设计一个简单的GUI应用程序,窗口标题设为“First GUI Program”,窗口大小设为(500, 300),窗口的背景色设为红色,居中显示。 2.代码实现 import java.awt.event.*; import java.awt.*; ...
  • Java初学篇之窗口应用小程序

    千次阅读 2016-09-12 21:45:48
    /本窗口应用小程序可以在窗口界面上获取用户的输入,然后输出欢迎语,需要利用以下三个Java基本类库:1.java.awt.,用于抽象窗口工具包,提供构建和管理用户图形界面功能;2.java.awt.event.,用于提供处理由AWT组件...
  • 如何把Java程序窗口在屏幕中间显示

    千次阅读 2021-03-08 09:11:33
    摘要:这篇Java开发技术栏目下的“如何把Java程序窗口在屏幕中间显示”,介绍的技术点是“Java程序、屏幕中间、Java、显示、窗口、中间”,希望对大家开发技术学习和问题解决有帮助。举例说明:1、有一个200*200像素...
  • java 窗口

    千次阅读 2018-06-18 21:48:17
    窗口一个基于GUI的应用程序应当提供一个能和操作系统直接交互的容器,该容器可以被直接显示、绘制在操作系统所控制的平台上,例如显示器上,这样的容器被称作GUI设计中的底层容器,Java提供的JFrame类的实例就是一个...
  • java基础-滑动窗口算法

    千次阅读 2021-09-11 23:33:32
    } } 滑动窗口是基于暴力解法的优化,其强大的思想被应用在很多地方,比如我们熟知的网关限流算法,其中有滑动窗口算法,滑动窗口算法有个缺点,就是临界的问题,现在都采用令牌桶算法来限流,感兴趣的小伙伴可以...
  • Java GUI 桌面应用开发

    千次阅读 2021-12-29 20:18:50
    本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swing 图形化的用户界面(Graphical User Interface,简称GUI),java提供了一套可以轻松构建GUI的工具 GUI开发包: java.awt 包: 主要提供...
  • java界面——可视化窗口入门级

    千次阅读 2021-03-08 16:57:46
    JAVA界面java目标:咱们须要本身建立一个相似QQ登陆的界面,出现相似界面而后实现基本功能。函数写一个窗体:布局public class Login {public static void main(String[] args) {Login lo = new Login();lo.showUI()...
  • java swing 使用按钮关闭窗口

    千次阅读 2021-02-12 15:20:09
    并没有使添加在frame上的windowListener的windowClosing操作响应,故不能采取这种方式,因为我需要在窗口关闭的时候对窗口中的一些数据进行处理。最后找到的解决方案是这样的:frame.dispatchEvent(ne...
  • 我想在servlet中弹出警告对话框然后我可以在警告框打字就像alert( "账号在你的java文件中写入: 比如说考试规则:里面写入想要写的内容, JOptionPane.showMessageDialog(menuFrame, "\n 1:规定时间内完成答题 \n 2:...
  • 前面学过了面向对象基本概念、面向对象基本特征、Java基本包和API:异常...界面(容器、窗口),提供整个界面的空间 例:在桌面出现一个界面,标题是:HelloWorld 显示:setVisible函数 Shows or hides this Window d
  • Win7系统运行java时出现提示应用程序已安全设置被阻止,这样就导致运行java失败,那么怎样解决运行java提示应用程序已安全设置被阻止呢?下面跟着学习啦小编来一起了解下吧。解决运行java提示应用程序已安全设置被阻止...
  • 如何用Java设计一个简单的窗口界面(学习中.1)

    万次阅读 多人点赞 2020-11-28 14:57:43
    如何用Java设计一个简单的窗口界面一、准备1.这里介绍的是exlipse2.JFrame了解二、步骤1.打开exlipse,依次创建项目,包,类。2.代码如下3.运行结果 一、准备 1.这里介绍的是exlipse 2.JFrame了解 JFrame() 创建一...
  • Java 多线程的应用场景

    千次阅读 多人点赞 2022-05-01 09:49:54
    电影院新片首映,观影人数大量增加,为提高日营业额,线下售票窗口由原单窗口调整为3窗口,设计一段简单的程序模拟该售票过程。
  • JAVA如何让窗体置于所有应用前面?

    千次阅读 2021-02-12 20:26:08
    //禁止缩32313133353236313431303231363533e58685e5aeb931333363373130放来实现JOptionPane消息提示框的,如果在窗口置顶的情况下,还能弹出来看到,那么就需要设置一个参数,来指定他弹出的父组件...
  • 它将用于给一个Java应用程序创建一个简单的top-level窗口。打开你的编辑器创建一个新的文本文件,输入如下:import java.awt.*;import javax.swing.*;Java配置了一系列的代码库用于帮助程序员进行...
  • Java桌面应用程序

    万次阅读 多人点赞 2017-04-13 15:27:47
    java桌面应用印象因为桌面程序运行在宿主机器上, 所以比如你运行java桌面程序,必然要安装java虚拟机, 也就是相当于在操作系统上再加一层抽象, 这与直接调用api的桌面程序效率相比,或多或少低一点。 因为...
  • java应用程序窗口关闭的六种方法
  • cmd.exe /c start cmd 会打开一个新窗口后执行cmd指令,原窗口会关闭。 cmd.exe /k start cmd 会打开一个新窗口后执行cmd指令,原窗口不会关闭 cmd.exe /k start /b cmd 会打开一个隐藏的窗口执行c...
  • java如何使窗口上的标题居中

    千次阅读 2021-02-26 10:06:13
    如图: 补充:Java是一种可以撰写跨平台应用软件32313133353236313431303231363533e4b893e5b19e31333337393534的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,894
精华内容 112,757
关键字:

java窗口应用