import java.awt.event.*;
import java.awt.*;
import javax.swing.*;public class TestAnniu {
JButton xh = new JButton();
JButton xm = new JButton();
ButtonGroup buttonGroup2 = new ButtonGroup();
JButton bt=new JButton("ok");
public TestAnniu()
{
JFrame f=new JFrame("this is a test");
f.setLayout(new FlowLayout());
xh.setFont(new java.awt.Font("Dialog", 0, 15));
xh.setText("按学号");
xh.setBounds(new Rectangle(20, 417, 74, 34));
xm.setBounds(new Rectangle(95, 417, 74, 34));
xm.setText("按姓名");
xm.setFont(new java.awt.Font("Dialog", 0, 15));
buttonGroup2.add(xh);
buttonGroup2.add(xm);
bt.addActionListener(new bt_action());
f.add(xh);f.add(xm);f.add(bt);
f.setBounds(300,300,400,400);
f.setVisible(true);
}
class bt_action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(xh.isSelected())
{
JOptionPane.showMessageDialog(null,"queren");
}
if(xm.isSelected())
{
JOptionPane.showMessageDialog(null, "quxiao");
}
}}
}
我的想法是使JButton像JRadioButton那样与ButtonGroup使用
但结果没有达到预期效果,
是不是JButton不能达到那种效果呢?
还是我的程序代码有问题?
望前辈们赐教~
感激不尽~~
import java.awt.*;
import javax.swing.*;public class TestAnniu {
JButton xh = new JButton();
JButton xm = new JButton();
ButtonGroup buttonGroup2 = new ButtonGroup();
JButton bt=new JButton("ok");
public TestAnniu()
{
JFrame f=new JFrame("this is a test");
f.setLayout(new FlowLayout());
xh.setFont(new java.awt.Font("Dialog", 0, 15));
xh.setText("按学号");
xh.setBounds(new Rectangle(20, 417, 74, 34));
xm.setBounds(new Rectangle(95, 417, 74, 34));
xm.setText("按姓名");
xm.setFont(new java.awt.Font("Dialog", 0, 15));
buttonGroup2.add(xh);
buttonGroup2.add(xm);
bt.addActionListener(new bt_action());
f.add(xh);f.add(xm);f.add(bt);
f.setBounds(300,300,400,400);
f.setVisible(true);
}
class bt_action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(xh.isSelected())
{
JOptionPane.showMessageDialog(null,"queren");
}
if(xm.isSelected())
{
JOptionPane.showMessageDialog(null, "quxiao");
}
}}
}
我的想法是使JButton像JRadioButton那样与ButtonGroup使用
但结果没有达到预期效果,
是不是JButton不能达到那种效果呢?
还是我的程序代码有问题?
望前辈们赐教~
感激不尽~~
JButton xh = new JButton();
JButton xm = new JButton();
ButtonGroup buttonGroup2 = new ButtonGroup();
JButton bt = new JButton("ok");
public TestAnniu(){
JFrame f = new JFrame("this is a test");
f.setLayout(new FlowLayout());
xh.setFont(new java.awt.Font("Dialog",0,15));
xh.setText("按学号");
xh.setBounds(new Rectangle(20,417,74,34));
xm.setBounds(new Rectangle(95,417,74,34));
xm.setText("按姓名");
xm.setFont(new java.awt.Font("Dialog",0,15));
buttonGroup2.add(xh);
buttonGroup2.add(xm);
bt_action listener = new bt_action();
bt.addActionListener(listener);
xh.addActionListener(listener);
xm.addActionListener(listener);
f.add(xh);
f.add(xm);
f.add(bt);
f.setBounds(300,300,400,400);
f.setVisible(true);
}
class bt_action implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource() == xh){
JOptionPane.showMessageDialog(null,"queren");
}
if(xm == e.getSource()){
JOptionPane.showMessageDialog(null,"quxiao");
}
}
}
public static void main(String[] args){
new TestAnniu();
}
}
看下面的代码,如果我把jRadioButton改成JButton,能不能达到像JRdioButton的效果呢?
我试过是不行的,不知道有没有其他办法可以达到这种效果
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class cxxj
extends JFrame {
JButton ok = new JButton();
ButtonGroup buttonGroup2 = new ButtonGroup();
JRadioButton xh = new JRadioButton();
JRadioButton xm = new JRadioButton();
JRadioButton bh = new JRadioButton();
public cxxj() {
try {
jbInit();//调用jbInit函数,初始化窗体
}
catch (Exception e) {
e.printStackTrace();
}
} public static void main(String[] args) {
cxxj cxxj = new cxxj();//实例化cxxj
} private void jbInit() throws Exception {
this.setLocale(java.util.Locale.getDefault());
this.getContentPane().setLayout(null);
确定.setBounds(new Rectangle(465, 412, 85, 34));
确定.setText("确 定");
确定.addActionListener(new cxxj_确定_actionAdapter());
xh.setText("按学号");
xh.setBounds(new Rectangle(20, 417, 74, 34));
xm.setBounds(new Rectangle(95, 417, 74, 34));
xm.setText("按姓名");
bh.setBounds(new Rectangle(174, 418, 74, 34));
bh.setText("按班号");
this.getContentPane().add(确定, null);
this.getContentPane().add(bh, null);
this.getContentPane().add(xm, null);
this.getContentPane().add(xh, null);
this.setBounds(100, 100, 800, 500);
this.setVisible(true);//设置窗口可见
buttonGroup2.add(xh);
buttonGroup2.add(bh);
buttonGroup2.add(xm);
}
class cxxj_cancel_actionAdapter{
public void actionPerformed(ActionEvent e) {
if (xh.isSelected()) {
System.out.println("嘿嘿");
}
else if (xm.isSelected()) {
System.out.println("呵呵");
}
else i (bh.isSelected()) {
System.out.println("哈哈");
}
}
}