在Swing中,JFrame、JPanel和JButton是构建用户界面的基础组件。本文将介绍这三个组件的用法,常见问题以及如何避免错误,同时提供代码示例。 1....避免方法:确保在添加所有组件后调用setVisible(true)。 问题2:忘记设置关闭操作。默认情况下,关闭窗口不会终止应用程序。...JButton JButton是用户交互的主要组件,用于触发某种操作。...(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); JButton button = new JButton("Click...避免方法:为JButton添加ActionListener,处理actionPerformed事件。 结语 JFrame、JPanel和JButton是构建Swing应用程序的基础。
setLayout(LayoutManager lmg) 设置容器使用lmg页面布局设置 public void setDefaultCloseOperation(int operation) 设置单击窗口上关闭按钮时处理方式...如果没有设置窗口的关闭方式,单击关闭按钮是不能真正关闭窗口的,即单击关闭按钮时窗口会消失,虽然窗口消失了,但是还在JVM中。...模态对话框是指用户需要等到对话框处理完毕后才能与其他窗口交互,而非模态对话框允许用户在使用对话框同时与其他窗口交互。...(JFrame.EXIT_ON_CLOSE); setVisible(true); JButton jButton1 = new JButton("调用JDialog模态对话框窗口");...add(jButton1); // 添加按钮 JButton jButton2 = new JButton("调用JDialog非模态对话框窗口"); add(jButton2); setSize(400
对 showConfirmDialog 所产生的对话框,有如下几个返回值: YES OPTION: 用户 单击了 "是"按钮后返回 。 NO OPTION: 用 户单击了"否"按钮后返回 。...CANCEL OPTION: 用户单击了"取消"按钮后返回 。 OK OPTION : 用户单击了"确定"按钮后返回 。...CLOSED OPTION: 用户 单击了对话框右上角的 " x" 按钮后返回。...jf = new JFrame("测试确认对话框"); JTextArea jta = new JTextArea(6, 30); JButton btn = new JButton...jf = new JFrame("测试输入对话框"); JTextArea jta = new JTextArea(6, 30); JButton btn = new JButton
例如,在用户界面上有一个按钮,当用户将鼠标移动到按钮上并单击时,就触发了一个“按钮单击”事件,然后由该命令按钮中的代码来完成相应的操作。因此,事件处理技术是用户界面程序设计中一项重要的技术。...事件处理的模型主要是在程序获得事件后,采用怎么样的结构和机制对事件进行处理和响应。...事件:当用户在界面上执行一个操作,如按下键盘、单击或移动鼠标对窗口中的组件进行交互时所发生的事情。事件可以由外部用户操作触发,如单击按钮、单击鼠标等。事件也可以由操作系统触发,如时钟计数器等。...(JFrame.EXIT_ON_CLOSE); JButton jButton=new JButton("事件源"); addActionListener(new ButtonHandler());...(JFrame.EXIT_ON_CLOSE); JButton jButton=new JButton("事件源"); addActionListener(e -> { showMessageDialog
12.3.1 JButton 按钮是窗口程序设计中最常用的控件之一,用户可以单击它来控制程序运行。...提交按钮由JButton对象创建,它的常见方法如表12.6所示。...JButton类的常见方法 常用方法 功能描述 public JButton() 创建一个不带文本或图标的按钮 public JButton(Icon icon) 创建一个带图标的按钮 public void...("btn.jpg"); 10 Icon icon = new ImageIcon(url); 11 JButton jButton = new JButton(icon...); 12 jButton.setToolTipText("我是提交按钮"); 13 jFrame.add(jButton); // 添加按钮 14
.*; public class QFrame extends JFrame { public QFrame() { JButton jbtnew=new JButton("New");//新建按钮...@Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "单击了新建按钮...System.out.println("lruihao.cn"); } }); } public static void main(String[] args) { JFrame...frame=new QFrame(); frame.setTitle("QFrame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...“单击了新建按钮”。
JFrame frame = new JFrame("HtmlDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);...swing.boldMetal", Boolean.FALSE); createAndShowGUI(); } }); } } 尝试这个: 单击启动按钮以使用...在左侧的文本区域中编辑HTML格式,然后单击“更改标签”按钮。右边的标签显示结果。 从左侧的文本区域中删除html标签。标签的文本不再解析为HTML。...JFrame frame = new JFrame("ButtonHtmlDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...单击启动按钮,以使用Java™Web Start(下载JDK 7或更高版本)运行ButtonHtmlDemo。或者,要自己编译并运行示例,请查阅示例索引。
方法名称 概述 getContentPane() 返回此窗体的 contentPane 对象 getDefaultCloseOperation() 返回用户在此窗体上单击“关闭”按钮时执行的操作 setContentPane...(Container contentPane) 设置 contentPane 属性 setDefaultCloseOperation(int operation) 设置用户在此窗体上单击“关闭”按钮时默认执行的操作...(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("按钮被单击了...button=new JButton("浏览"); public JFileChooserDemo() { JFrame jf=new JFrame("文件选择器");...tableHeader) 将此 JTable 所使用的 tableHeader 设置为 newHeader setUpdateSelectionOnSort(boolean update) 指定排序后是否应该更新选择
图1 2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。...图2 3、单击“添加商品”按钮,弹出如图3所示的窗体,此时必须输入所有商品信息, 否则将弹出如图4所示的对话框;当商品信息输入完毕,单击“确定”按钮,实现商品的添加, 在弹出如图5所示的对话框后,释放窗体...4、单击“显示所有商品”、“按编号查询”及“按名称查询”按钮时调用DBManager.runSelectSql方法实现;单击“修改商品”、“删除商品”或“添加商品”按钮调用DBManager.runUpdateSql...; public class GoodsXG extends JFrame { private JTextField id,name,num,price; private JButton button...; public class GoodsADD extends JFrame { private JTextField id,name,num,price; private JButton button
.*; 5 6 public class WindowMess extends JFrame implements ActionListener 7 { 8 JTextField inputEnglish...add(show,BorderLayout.CENTER); 18 setVisible(true); 19 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...用户通过颜色对话框选择颜色后,如果单击“确定”按钮,那么颜色对象,如果单击“撤销”按钮或者关闭图标,那么颜色对话框将消失,showDialog()方法返回null */ 1 package tes;...java.awt.*; 3 import java.awt.event.*; 4 import javax.swing.*; 5 6 public class WindowColor extends JFrame...implements ActionListener 7 { 8 JButton button ; 9 WindowColor() 10 { 11 button = new JButton
; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.WindowConstants; public...class ActionEvent extends JFrame{ JButton jButton; //定义点击按钮 public ActionEvent() { setTitle("动作事件监听器...点击触发动作事件"); jButton.setBounds(100, 150, 200, 30); container.add(jButton); //将按钮加入到容器 jButton.addActionListener...对于动作事件监听器在这里要注意的两点: 在重写的actionPerformed()函数中应该对单击的控件进行判断,判断是否是单击了该控件。...在对某一个控件进行动作事件监听的时候,一定要使用addActionListener()方法为该控件添加事件监听,否则就算对该控件写了触发事件,在没有为该控件添加监听时,单击该控件也还是没有用的。
jFrame.setVisible(true); 20 } 21} 程序的运行结果,在用鼠标单击组合框之后如图12.11所示。...例12-9运行结果(单击组合框) 图12.11中,运行程序弹出JFrame窗口,窗口中有下拉列表,列表中有四个选项,先创建JFrame窗体,在构造方法中初始化窗体,将下拉框及其选项都添加进去,用户可以单击组合框进行选择...jFrame = new JFrame("JFrame窗口");// 创建JFrame窗体 7 // 创建文本框 8 final JTextField jtf = new...JTextField("AAA软件教育", 15); 9 jFrame.add(jtf); // 将文本框添加到JFrame 10 JButton jb = new...JButton("测试"); 11 jFrame.add(jb); 12 jFrame.setLayout(new FlowLayout()); 13 jFrame.setSize
GUI 设计基本流程 先记录一下 GUI 设计的基本流程: 根据需要从相应的顶层容器继承(如果创建窗体就继承 JFrame,对话框就继承 JDialog),新建一个子类。...; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel...; import javax.swing.JTextField; public class SingleThreadDown extends JFrame implements ActionListener...StartButton = new JButton("单击开始下载"); JButton resetButton = new JButton("清空"); JButton exitButton =...子类对象调用方法设置 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认关闭事件 StartButton.addActionListener
二、基本要求 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以添加,删除,修改、查询(显示学生相片)学生信息,添加学生信息时,要求能添加学生的相片信息(实现相片文件的上传和下载功能...upload=new JButton("上传照片"); private JFrame jf=new JFrame("学生信息管理系统"); Dimension faceSize=new Dimension...我们再添加一个女学生的信息,如下图所示: (9)然后单击“确定”按钮,此时学生信息添加成功。...,如下图所示: 5、删除 (1)在学生信息管理系统界面选中某一学生记录,单击“删除”按钮,弹出删除确认界面。...如果确认删除,单击“确定”按钮,否则单击“取消”按钮。
单击该按钮开始共享会话。第二个应用程序自动接收视频流并显示它。还有一个停止屏幕共享的按钮。WebRTC 服务器WebRTC 服务器配置为用于两个客户端之间的交互:一个流媒体和一个接收器。...engine.newBrowser();复制代码加载所需的 URL:browser.navigation().loadUrlAndWait("http://localhost:3000/streamer");复制代码加载 URL 后,...访问JavaScript 代码streamer.html,可以在单击按钮时直接从 Java 开始屏幕共享:JButton startSharingButton = new JButton("Share...loadUrlAndWait("http://localhost:3000/receiver");复制代码要在 Java 应用程序中显示流媒体屏幕,创建 SwingBrowserView组件并将其嵌入到JFrame...private static void initUI(Browser browser) { BrowserView view = BrowserView.newInstance(browser); JFrame
super.paintComponent(g); g.drawimage(img,0,0,this); // 以左上角为起点 } } 2 登录窗体 创建LoginDialog类,该类继承JFrame...程序重要代码如下: private JButton getLoginButton(){ if(loginButton == null){ loginButton = new JButton...(); } // 显示主窗体 mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...此过程与单击登录按钮具有相同的作用。也就是说,输完密码后,用敲回车代替单击登录按钮。
12.1.2 Swing包 Swing组件的类的层次和继承关系: 12.1.3 常用Swing组件概述 12.2 常用窗体 12.2.1 JFrame窗体 JFrame窗体是一个容器,它是Swing...语法: JFrame jf = new JFrame(title); Container container = jf.getContentPane(); 将组件添加至容器: container.add...窗体"); } } 运行效果: JFrame类的常用构造方法有两种: public JFrame() public JFrame(String title) Java窗体常用关闭方式有4中: DO_NOTHING_ON_CLOSE...alignment参数表示使用流布局管理器后组件在每一行的具体摆放位置,可被赋值为: FlowLayout.LEFT = 0 FlowLayout.CENTER = 1 FlowLayout.RIGHT...ActionListener() { @Override public void actionPerformed(ActionEvent e) { jb.setText("我被单击了
.; public class HomeScreen { public static void main(String[] args) { JFrame aa=new JFrame();//awt...包里的,定义一个窗口 aa.setTitle("餐厅点餐系统");//设置主窗口名字 JButton an1=new JButton("菜式导航");//新建按钮 aa.setSize(500,...);//防止关闭后资源内存示范,默认关闭操作 aa.setVisible(true);//窗口显示BOOL值,和JFrame成对出现,如果没有将无法建立窗口 } } ` 以上是面向过程的思路,而Java...javax.swing.JFrame; public class Screen extends JFrame{//继承方法JFrame,任何对象直接使用 JButton an1=null;//初始值...("菜式导航"); this.add(an1);//窗口里添加一个按钮 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//防止关闭后资源内存示范
JOptionPane.WARNING_MESSAGE); } catch(SQLException exp){ System.out.println(exp); } } } 这是登陆界面: 登陆成功后...Box.createVerticalStrut(8)); box2.add(field[i]); box2.add(Box.createVerticalStrut(8)); } box1.add(new JLabel(" 单击删除...Box.createVerticalStrut(8)); box2.add(field[i]); box2.add(Box.createVerticalStrut(8)); } box1.add(new JLabel(" 单击修改...Box.createVerticalStrut(8)); box2.add(field[i]); box2.add(Box.createVerticalStrut(8)); } box1.add(new JLabel(" 单击添加...("查找"); button.addActionListener(this); box[n-1].add(new JLabel(" 单击查找")); box[n-1].add(Box.createHorizontalStrut
当一个容器被创建后,它们有相应的默认布局管理器,用户可以为容器指定不同的布局管理器,在不同的布局管理器下,同一个组件将会有不同的显示效果。...8 jFrame.setLayout(new FlowLayout(FlowLayout.CENTER, 30, 3)); 9 JButton jButton = null...12 jFrame.add(jButton); // 将按钮加入到JFrame 13 } 14 jFrame.setSize(400,...例12-16运行结果左图为程序运行初始结果,右图是将窗口向右拉大后的结果 图12.18中,运行程序创建Frame窗体后,将布局设置为使用FlowLayout布局管理器并设置组件之间的水平和垂直距离,之后循环添加...); 10 jFrame.add(new JButton("左"),BorderLayout.WEST); 11 jFrame.add(new JButton("下"),
领取专属 10元无门槛券
手把手带您无忧上云