当前位置: 首页 > news >正文

Java Swing 自定义JOptionPane

运行后的样式

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class demoB {public static void main(String[] args) {SwingUtilities.invokeLater(() -> {JFrame jf = new JFrameDemo();jf.setVisible(true);});}static class JFrameDemo extends JFrame {private JButton button;public JFrameDemo() {setTitle("主窗口");setSize(400, 300);setDefaultCloseOperation(EXIT_ON_CLOSE);setLocationRelativeTo(null);button = new JButton("打开对话框");button.addActionListener(new DialogListener());getContentPane().add(button, BorderLayout.CENTER);}public JButton getJButton() {return button;}}static class DialogListener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {// 主面板(设置内边距)JPanel mainPanel = new JPanel(new GridLayout(2, 1, 5, 10)); // 行间距10像素mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); // 外边距// 创建两行输入区域mainPanel.add(createInputRow("按钮1"));mainPanel.add(createInputRow("按钮2"));// 显示对话框JOptionPane.showOptionDialog(null,mainPanel,"标题",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,new Object[]{},  // 必须空数组null);}// 创建单行布局(核心修改部分)private JPanel createInputRow(String buttonText) {JPanel panel = new JPanel(new BorderLayout(10, 0)); // 水平间距10像素JTextField textField = new JTextField();textField.setPreferredSize(new Dimension(200, 30)); // 固定高度30JButton button = new JButton(buttonText);button.setPreferredSize(new Dimension(80, 30));    // 固定高度30panel.add(textField, BorderLayout.CENTER);panel.add(button, BorderLayout.EAST);return panel;}}
}

相关文章:

  • 【文本分类】KG-HTC 知识图谱提升分类准确率
  • 有铜半孔工艺的制造难点与工艺优化
  • 2025年绿色材料与制造技术国际学术会议(GMMT 2025)
  • 易境通WMS系统:赋能快消品海外仓高效管理
  • 《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》第三次印刷
  • leetcode617.合并二叉树:迭代法中层序遍历与队列操作的深度解析
  • 7.安卓逆向2-frida hook技术-介绍
  • Real2Render2Real:无需动力学仿真或机器人硬件即可扩展机器人数据
  • gin使用Mysql连接池用法
  • 【排错】kylinLinx环境python读json文件报错UTF-8 BOM
  • Linux三剑客之grep命令使用教程
  • PTA练习题
  • 区块链与Web3:如何有效保障个人数据安全
  • 深入解析操作系统内核与用户空间以及内核态与用户态转换
  • 华为OD机试_2025 B卷_返回矩阵中非1的元素个数(Python,100分)(附详细解题思路)
  • Python 实现简单OCR文本识别
  • jquery基础知识
  • 关于拓展模块NotificationStyle的demo运行时报错的问题
  • 如何清除浏览器启动hao点360
  • 攻防世界RE-reverse_re3
  • 网站建设网络推广首选公司/深圳做网站的公司
  • 手机网站源码下载/互联网营销平台有哪些
  • 网站建设杭州哪家便宜/百度推广有效果吗
  • 网站建设pdf微盘/百度app官方正式版
  • 日本购物网站开发/爱站关键词
  • 公司网站维护费 入什么科目/廊坊网站建设优化