实现像你想要的设计(我认为)的关键是使用阵列最大限度的力量。例如,您可以拥有一个包含JRadioButton文本的2维String数组和一个ButtonGroups的1维数组,然后可以轻松设置GUI并使用for循环和嵌套for循环查询GUI(和使用mKorbel的优秀建议)。

例如:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Foo002 extends JPanel {

public static final String[][] RADIO_TEXTS = {

{"A1","A2","A3","A4"}, {"B1","B2","B3","B4"},

{"C1","C2","C3","C4"}, {"D1","D2","D3","D4"},

{"E1","E2","E3","E4"}, {"F1","F2","F3","F4"},

{"G1","G2","G3","G4"}, {"H1","H2","H3","H4"},

{"I1","I2","I3","I4"}, {"J1","J2","J3","J4"},

{"K1","K2","K3","K4"}, {"L1","L2","L3","L4"},

{"M1","M2","M3","M4"}, {"N1","N2","N3","N4"},

{"O1","O2","O3","O4"}, {"P1","P2","P3","P4"},

{"Q1","Q2","Q3","Q4"}, {"R1","R2","R3","R4"},

{"S1","S2","S3","S4"}, {"T1","T2","T3","T4"}

};

private ButtonGroup[] btnGroups = new ButtonGroup[RADIO_TEXTS.length];

public Foo002() {

JPanel radioPanel = new JPanel(new GridLayout(0, 2));

for (int i = 0; i < RADIO_TEXTS.length; i++) {

JPanel panel = new JPanel(new GridLayout(1, 0));

btnGroups[i] = new ButtonGroup();

for (int j = 0; j < RADIO_TEXTS[i].length; j++) {

String text = RADIO_TEXTS[i][j];

JRadioButton rBtn = new JRadioButton(text);

rBtn.setActionCommand(text);

btnGroups[i].add(rBtn);

panel.add(rBtn);

}

panel.setBorder(BorderFactory.createLineBorder(Color.black));

radioPanel.add(panel);

}

JButton getRadioChoicesBtn = new JButton(new AbstractAction("Get Radio Choices") {

public void actionPerformed(ActionEvent arg0) {

for (ButtonGroup btnGroup : btnGroups) {

ButtonModel btnModel = btnGroup.getSelection();

if (btnModel != null) {

System.out.println("Selected Button: " + btnModel.getActionCommand());

}

}

}

});

JPanel btnPanel = new JPanel();

btnPanel.add(getRadioChoicesBtn);

setLayout(new BorderLayout());

add(radioPanel, BorderLayout.CENTER);

add(btnPanel, BorderLayout.SOUTH);

}

private static void createAndShowGui() {

JFrame frame = new JFrame("RadioPanels");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new Foo002());

frame.pack();

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGui();

}

});

}

}

java radiobutton获取信息_如何获取JRadioButton的文本值相关推荐

  1. js如何获取jwt信息_如何获取有价值的信息

    信息时代的重要特征,就是信息增加的速度与传播速度相对过去有了质的飞越.但随之而来的问题也出现了,信息的噪音(无价值信息)爆炸性增长,真正有价值的信息迅速被信息噪音淹没,因为有价值的信息永远是线性增长的 ...

  2. java radiobutton获取信息_java-如何获取从ButtonGroup中选择的哪个JRadioButton

    java-如何获取从ButtonGroup中选择的哪个JRadioButton 我有一个swing应用程序,其中包括窗体上的单选按钮. 我有ButtonGroup,但是,查看可用的方法,似乎无法获得所 ...

  3. 获取java异常堆栈信息_Java 实例 - 获取异常的堆栈信息

    全屏 Java 实例 - 获取异常的堆栈信息 以下实例演示了使用异常类的 printStack() 方法来获取堆栈信息: Main.java 文件public class Main{ public s ...

  4. 浏览器获取设备信息_过滤获取日志和浏览器信息

    承接上一个课件<分析Nginx日志获取IP地址的省份信息> 现在希望是获取浏览器和操作系统相关数据 准备一个工具类UserAgentUtil 编写代码 解析浏览器的useragent字符串 ...

  5. java扫描包下类_实现获取扫描指定包路径下的jar文件或class文件JarPojoHandler类示例代码...

    通过JarPojoHandler类实现了扫描指定路径下如何获取所有的JAR包或class文件,可以对特定class对象文件筛选过滤等,具体代码如下所示import java.io.File;@b@im ...

  6. h命令可以获取mysql客户端的帮助信息_如何获取MySQL帮助信息

    在开发或测试环境在碰到MySQL相关故障时,大多数朋友可能会通过论坛发帖,QQ群讨论方式来获取帮助.该方式是获取帮助的有效途径之一.然而如果在生产环境,在没有网络的环境下,这些方式就无助于问题的解决. ...

  7. java获取发件人_如何获取发件人outlook / Exchange的SMTP地址

    我试图在outlook插件中获取发件人的SMTP地址 . 当我按照MSDN中的示例(如this one here)时,这可以正常工作: private void GetSMTPAddressForRe ...

  8. java在天猫获取图片_怎么获取天猫商品主图图片?

    #技巧#快速打开商品图片 天猫商品链接前辍+商品ID 前辍:https://detail.tmall.com/item.htm?id= 商品ID:599570818108 #技巧#快速获取商品页面图片 ...

  9. python 获取qq群成员信息_[Python-ItChat]获取微信所有好友, 群信息(群内人员),批量添加好友,自动发送信息等...

    New 09.10 降低使用门槛, 编译生成exe 使用方法 下载exe,双击, 然后扫码-> 同级目录下生成friends.txt和chatrooms.txt[格式为json]对应的是好友列表 ...

最新文章

  1. java连接cassandra,使用JDBC驱动程序连接到Cassandra
  2. 数字对 (长乐一中模拟赛day2T2)
  3. 抑郁症自测量表测试软件,快来测测抑郁--抑郁自评量表 (此表是是收费工具,我献给大家)...
  4. html中使用静态图片做一个csdn网站的首页
  5. [golang]nil slice和empty slice的区别
  6. python中scrapy可以爬取多少数据_python中scrapy框架爬取携程景点数据
  7. linux进程作为服务,将一个监视进程做成linux系统服务
  8. 分布式选举协议:Bully
  9. 目前计算机应用最广的领悟是,最新职中计算机应用基础期中考试试题及答案
  10. 如何提升自身的C++开发技术?
  11. bagging和时间序列预测_Simple RNN时间序列预测
  12. eclipse中使用maven插件的时候,运行tomcat7:run的时候报错
  13. win10 修改git账号密码
  14. 关于图片以及格式UTI
  15. 珞珈-B生所学 跟学笔记 PPT(一)
  16. python进阶_基础篇4(数据类型和列表)
  17. 超级实用——用word与谷歌翻译将英文PDF文档翻译成中文,免费无限制之美
  18. 单片机P0口的AD0-7是什么意思
  19. 《互联网金融投资理财一册通》一一1.1 互联网金融
  20. 3.7 pipeline syntax 7

热门文章

  1. 关于 SAP Fiori Elements 应用标题属性(title) 的复制逻辑单步调试
  2. SAP Spartacus BrowserPlatformLocation的初始化逻辑
  3. SAP Spartacus OccCmsComponentAdapter的findComponentsByIds方法
  4. 利用ES6里标准化的JavaScript proxy对象拦截SAP C4C页面的HTML div原生操作
  5. SAP C4C url mashup跳转原理 - C4C UI到Mashup的参数传递是如何进行的
  6. SAP CRM webclient ui里直接编写原生的JavaScript
  7. Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
  8. 如何使用新浪微博相册作为markdown的图床
  9. SAP UI5 scroll down to get more
  10. Uncaught TypeError: object is not a function