1首先定义三个输入框
JTextField firstNumber;
JTextField secontdNumber;
JTextField maxNumber;
2然后怎样生成并把它们放到界面上我就不多说了。
3接下来生成最大数按钮maxNumberButton和关闭按钮closeButton,并放在界面上。
然后让maxnNumberButton监听鼠标单击事件
maxNumberButtonaddMouseListener(new MouseAdapter() {
if (SwingUtilitiesisLeftMouseButton(e)) {//判断是否鼠标左键按下
//在这里获得第一个和第二个数并比较获得最大的数,当然,你还可以首先判断是否已经输入了两个数,判断输入的两个值是否是数值等等的。你也可以在外边实现一个方法,直接返回最大值。然后是把最大值显示出来。
//从输入框直接获得的是string,你要自己转换成数值,具体怎样做我就不说了。默认你已经获得了两个值,并得到最大值max,顺便说一下float和double是不能直接大于小于这样比较的。
maxNumbersetText("");//首先把之前显示的清除
maxNumbersetText(max);
}
});
关闭按钮处理类似
closeButtonaddMouseListener(new MouseAdapter() {
if (SwingUtilitiesisLeftMouseButton(e)) {
Systemexit(0);
}
});
第一题:
import javaawteventActionEvent;
import javaawteventActionListener;
import javaxswingButtonGroup;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJPanel;
import javaxswingJRadioButton;
public class RadioTest extends JFrame{
private JRadioButton jrb1;
private JRadioButton jrb2;
private JLabel jlbl;
private JPanel jp;
private JButton jbtn;
private String jlstr;
private ButtonGroup bg;
public RadioTest(){
jlstr = "你选择的是:";
thissetTitle("实现单选按钮的效果");
jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
bg = new ButtonGroup();
bgadd(jrb1);
bgadd(jrb2);
jlbl = new JLabel(jlstr);
jbtn = new JButton("退出");
jbtnaddActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Systemexit(1);
}
});
jrb1addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(egetSource()==jrb1){
jlblsetText(jlstr+jrb1getText());
}
}
});
jrb2addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(egetSource()==jrb2){
jlblsetText(jlstr+jrb2getText());
}
}
});
jp = new JPanel();
jpadd(jrb1);
jpadd(jrb2);
jpadd(jlbl);
jpadd(jbtn);
thisadd(jp);
thissetBounds(300, 300, 230, 200);
thissetVisible(true);
thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
RadioTest rt = new RadioTest();
}
}
的确网上很多代码都是JavaScript的 但是很多编程语言都是相同的思路 只要看懂了JavaScript,一样可以迁移到java里使用了
思路: 按钮都存入同一个容器里, 然后点击按钮后 ,所有的按钮恢复为初始的颜色,然后在设置点击按钮的背景色为红色即可
(当然思路很多,这是其中最简单的一种思路;
另外提示一种思路,使用一个变量lastBtn 用于记录上一次点击的按钮, 点击按钮后,先把上一次按钮的颜色恢复成默认的颜色, 如果上一次点击的按钮为null ,那么忽略不设置; 然后再把这次点击的按钮 nowBtn设置成红色,最后lastBtn=nowBtn)
import javaxswing;import javaawt;
import javaawtevent;
public class ButtonFrame extends JFrame implements ActionListener {
JButton[] jbs;// 把按钮存放到一个数组或集合里
Color bgColor;// 保存按钮的默认背景颜色
Color fgColor;// 保存按钮的默认前景色(文字颜色)
public ButtonFrame() {
JPanel jp = new JPanel();
jbs = new JButton[3];
// 初始化数组,并赋值
for (int i = 0; i < jbslength; i++) {
jbs[i] = new JButton("按钮" + (i + 1));
jbs[i]addActionListener(this);
jpadd(jbs[i]);// 把按钮依次添加到面板中
}
bgColor = jbs[0]getBackground();
fgColor = jbs[0]getForeground();
add(jp);
setSize(320, 100);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 初始时,默认按下了第一个按钮
// addWindowListener(new WindowAdapter() {
// @Override
// public void windowOpened(WindowEvent e) {
// jbs[0]doClick();
// }
// });
}
public static void main(String[] args) {
SwingUtilitiesinvokeLater(new Runnable() {
public void run() {
new ButtonFrame()setVisible(true);
}
});
}
// 点击按钮,把所有按钮的背景色和文字颜色都复原;然后设置点击按钮的背景色和文字颜色
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < jbslength; i++) {
jbs[i]setBackground(bgColor);
jbs[i]setForeground(fgColor);
}
// 设置只有按钮1 点击会变色, 其他按钮被点击不会变色
// if(!egetActionCommand()equals("按钮1")){
// return;
// }
// 获取被点击的按钮
JButton clickBtn = (JButton) egetSource();
clickBtnsetBackground(ColorRED);
clickBtnsetForeground(ColorWHITE);
}
}
参考代码,
注意的路径,拿不准的话,就使用绝对路径吧
import javaawt;import javaawtevent;
import javaxswing;
//我的路径是 src\\images\\1gif 有四张 从1jpg~~4jpg
public class ImageDemo extends JFrame {
JLabel jl;
JPanel jp;
public ImageDemo() {
jp = new JPanel();
int i;
for (i = 0; i < 4; i++) {
if(i ==0){//初始化的时候,默认显示的
jl = new JLabel(new ImageIcon("src\\images\\"+1+"gif"));
}
//按钮
JButton jb = new JButton("第"+(i+1)+"张图");
int z = i;
//当按钮点击的时候
jbaddActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//设置jl的
jlsetIcon(new ImageIcon("src\\images\\"+(z+1)+"gif"));
}
});
jpadd(jb);
}
thissetLocation(200, 120);
thissetSize(500,200);
thissetLayout(new BorderLayout());
thisadd(jl);
thisadd(jp,BorderLayoutSOUTH);
thissetTitle("浏览");
thissetDefaultCloseOperation(EXIT_ON_CLOSE);
thissetVisible(true);
}
public static void main(String[] args) {
new ImageDemo();
}
}
欢迎分享,转载请注明来源:品搜搜测评网