import javax.swing.*; import java.awt.*;/**这个是主程序 * @author Fan * Date: 2003-5-24 * Time: 20:40:13 * Copyright(c) Since 2003 WisdomLeague */ public class SportLottery extends JFrame { public SportLottery() { setTitle("SportLottery"); setSize(10,300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); SelectPanel sp; sp = new SelectPanel(); setContentPane(sp); show(); } public static void main(String[] arguments) { SportLottery sl; sl = new SportLottery(); } public Insets getInset() { return new Insets(10,10,10,10); } } import javax.swing.*; import java.awt.event.ItemListener; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; import java.awt.event.ActionListener; import java.awt.*;/** * User: Fan's * Date: 2003-5-24 * Time: 21:26:00 * Copyright(c) Since 2003 WisdomLeague */ public class SelectPanel extends JPanel implements ItemListener,ActionListener { JRadioButton[] teams = new JRadioButton[10]; JTextField NumOneText = new JTextField(2); public SelectPanel() { ButtonGroup group; group = new ButtonGroup(); GridLayout lm = new GridLayout(11,1,1,1); setLayout(lm); NumOneText.addActionListener(this); NumOneText.setColumns(1); add(NumOneText); teams[0] = new JRadioButton("0",true); teams[1] = new JRadioButton("1"); teams[2] = new JRadioButton("2"); teams[3] = new JRadioButton("3"); teams[4] = new JRadioButton("4"); teams[5] = new JRadioButton("5"); teams[6] = new JRadioButton("6"); teams[7] = new JRadioButton("7"); teams[8] = new JRadioButton("8"); teams[9] = new JRadioButton("9"); int i; for (i = 0; i < teams.length; i++) { teams[i].addItemListener(this); group.add(teams[i]); add(teams[i]); } } public void itemStateChanged(ItemEvent e) { Object source; source = e.getSource(); for (int j = 0; j < teams.length; j++) { if (source == teams[j]) { NumOneText.setText(teams[j].getText()); } } repaint(); } public void actionPerformed(ActionEvent e) { Object source; source = e.getSource(); if (source == NumOneText) { int k = Integer.parseInt(NumOneText.getText()); if (k <= 9) { teams[k].setSelected(true); } } }}//JTextField的响应要回车以后才生效,问还有其他类型的响应让一输入数字就开始响应。谢谢。
import javax.swing.*; import java.awt.*;/**这个是主程序 * Author Fan * Date: 2003-5-24 * Time: 20:40:13 * Copyright(c) Since 2003 WisdomLeague */ public class SportLottery extends JFrame { SelectNumPanel sp1 = new SelectNumPanel(10); SelectNumPanel sp2 = new SelectNumPanel(10); SelectNumPanel sp3 = new SelectNumPanel(10); SelectNumPanel sp4 = new SelectNumPanel(10); SelectNumPanel sp5 = new SelectNumPanel(10); SelectNumPanel sp6 = new SelectNumPanel(10); SelectNumPanel sp7 = new SelectNumPanel(8); ButtonPanel bp = new ButtonPanel(); public SportLottery() { setTitle("SportLottery"); setSize(360,250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel pane = new JPanel(); GridLayout gl = new GridLayout(1,8,1,1); pane.setLayout(gl); pane.add(sp1); pane.add(sp2); pane.add(sp3); pane.add(sp4); pane.add(sp5); pane.add(sp6); pane.add(sp7); pane.add(bp); setContentPane(pane); show(); } public static void main(String[] arguments) { SportLottery sl; sl = new SportLottery(); } public Insets getInset() { return new Insets(10,10,10,10); } } import javax.swing.*; import java.awt.event.*; import java.awt.*;/** *Author Fan * Date: 2003-5-27 * Time: 16:15:08 * Copyright(c) Since 2003 WisdomLeague */ public class SelectNumPanel extends JPanel implements ItemListener ,ActionListener,FocusListener { JRadioButton[] teams; JTextField NumText = new JTextField(1); JComboBox Num = new JComboBox(); int l; public SelectNumPanel(int columns) { ButtonGroup group; group = new ButtonGroup(); GridLayout lm = new GridLayout(columns+2,1,1,1); setLayout(lm); NumText.addFocusListener(this); NumText.setColumns(1); add(NumText); teams = new JRadioButton[columns]; int i; for (i = 0; i < teams.length ;i++) { teams[i] = new JRadioButton(Integer.toString(i)); teams[i].addItemListener(this); group.add(teams[i]); add(teams[i]); } } public void itemStateChanged(ItemEvent e) { Object source; source = e.getSource(); for (int j= 0; j<teams.length; j++) { if(source == teams[j]) { NumText.setText(teams[j].getText()); } } repaint(0); } public void actionPerformed(ActionEvent e) { } public void focusGained(FocusEvent e) { } public void focusLost(FocusEvent e) { Object source; source = e.getSource(); if (source == NumText) { l = Integer.parseInt(NumText.getText()); //** if (l <= 9 ) { teams[l].setSelected(true); } } } public Insets getInset() { return new Insets(10,10,0,0); } }import javax.swing.*; import java.awt.*;/** * Author Fan * Date: 2003-5-28 * Time: 16:05:56 * Copyright(c) Since 2003 WisdomLeague. */ public class ButtonPanel extends JPanel { JButton Random = new JButton("Random"); public ButtonPanel () { setSize(300,45); setLayout(new BorderLayout()); add(Random, BorderLayout.NORTH); } public Insets getInset() { return new Insets(10,10,0,0); } } //这个程序可以运行,但是一点JRadioButton就出现很多警告。
C:\j2sdk141\bin\javaw.exe -classpath C:\j2sdk141\jre\lib\charsets.jar;C:\j2sdk141\jre\lib\jaws.jar;C:\j2sdk141\jre\lib\jce.jar;C:\j2sdk141\jre\lib\jsse.jar;C:\j2sdk141\jre\lib\rt.jar;C:\j2sdk141\jre\lib\sunrsasign.jar;C:\j2sdk141\jre\lib\ext\dnsns.jar;C:\j2sdk141\jre\lib\ext\ldapsec.jar;C:\j2sdk141\jre\lib\ext\localedata.jar;C:\j2sdk141\jre\lib\ext\sunjce_provider.jar;C:\Documents and Settings\fan\IdeaProjects\Lottery\src;C:\j2sdk141 SportLottery java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:447) at java.lang.Integer.parseInt(Integer.java:476) at SelectNumPanel.focusLost(SelectNumPanel.java:62) at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:168) at java.awt.Component.processFocusEvent(Component.java:4999) at java.awt.Component.processEvent(Component.java:4881) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:734) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:467) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)用IntelliJ Idea 3.0.4做的,提示得错误好像都是SelectNumPanel中“**”那一行的。
你把"**"上面的一行改为: if (source == NumText && !NumText.getText().trim().equals("")) {
还有如何将TextField的接收字符位数限制再“1”位。
谢谢。
import java.awt.*;/**这个是主程序
* @author Fan
* Date: 2003-5-24
* Time: 20:40:13
* Copyright(c) Since 2003 WisdomLeague
*/
public class SportLottery extends JFrame { public SportLottery() {
setTitle("SportLottery");
setSize(10,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SelectPanel sp;
sp = new SelectPanel();
setContentPane(sp);
show();
}
public static void main(String[] arguments) {
SportLottery sl;
sl = new SportLottery();
} public Insets getInset() {
return new Insets(10,10,10,10);
}
}
import javax.swing.*;
import java.awt.event.ItemListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ActionListener;
import java.awt.*;/**
* User: Fan's
* Date: 2003-5-24
* Time: 21:26:00
* Copyright(c) Since 2003 WisdomLeague
*/
public class SelectPanel extends JPanel implements ItemListener,ActionListener {
JRadioButton[] teams = new JRadioButton[10];
JTextField NumOneText = new JTextField(2); public SelectPanel() {
ButtonGroup group;
group = new ButtonGroup();
GridLayout lm = new GridLayout(11,1,1,1);
setLayout(lm); NumOneText.addActionListener(this);
NumOneText.setColumns(1);
add(NumOneText); teams[0] = new JRadioButton("0",true);
teams[1] = new JRadioButton("1");
teams[2] = new JRadioButton("2");
teams[3] = new JRadioButton("3");
teams[4] = new JRadioButton("4");
teams[5] = new JRadioButton("5");
teams[6] = new JRadioButton("6");
teams[7] = new JRadioButton("7");
teams[8] = new JRadioButton("8");
teams[9] = new JRadioButton("9"); int i;
for (i = 0; i < teams.length; i++) {
teams[i].addItemListener(this);
group.add(teams[i]);
add(teams[i]);
}
} public void itemStateChanged(ItemEvent e) {
Object source;
source = e.getSource();
for (int j = 0; j < teams.length; j++) {
if (source == teams[j]) {
NumOneText.setText(teams[j].getText());
}
}
repaint();
} public void actionPerformed(ActionEvent e) {
Object source;
source = e.getSource();
if (source == NumOneText) {
int k = Integer.parseInt(NumOneText.getText());
if (k <= 9) {
teams[k].setSelected(true);
}
}
}}//JTextField的响应要回车以后才生效,问还有其他类型的响应让一输入数字就开始响应。谢谢。
import java.awt.*;/**这个是主程序
* Author Fan
* Date: 2003-5-24
* Time: 20:40:13
* Copyright(c) Since 2003 WisdomLeague
*/
public class SportLottery extends JFrame { SelectNumPanel sp1 = new SelectNumPanel(10);
SelectNumPanel sp2 = new SelectNumPanel(10);
SelectNumPanel sp3 = new SelectNumPanel(10);
SelectNumPanel sp4 = new SelectNumPanel(10);
SelectNumPanel sp5 = new SelectNumPanel(10);
SelectNumPanel sp6 = new SelectNumPanel(10);
SelectNumPanel sp7 = new SelectNumPanel(8);
ButtonPanel bp = new ButtonPanel(); public SportLottery() {
setTitle("SportLottery");
setSize(360,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pane = new JPanel();
GridLayout gl = new GridLayout(1,8,1,1);
pane.setLayout(gl);
pane.add(sp1);
pane.add(sp2);
pane.add(sp3);
pane.add(sp4);
pane.add(sp5);
pane.add(sp6);
pane.add(sp7);
pane.add(bp);
setContentPane(pane);
show();
}
public static void main(String[] arguments) {
SportLottery sl;
sl = new SportLottery();
} public Insets getInset() {
return new Insets(10,10,10,10);
}
}
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;/**
*Author Fan
* Date: 2003-5-27
* Time: 16:15:08
* Copyright(c) Since 2003 WisdomLeague
*/
public class SelectNumPanel extends JPanel implements ItemListener ,ActionListener,FocusListener { JRadioButton[] teams;
JTextField NumText = new JTextField(1);
JComboBox Num = new JComboBox();
int l; public SelectNumPanel(int columns) {
ButtonGroup group;
group = new ButtonGroup();
GridLayout lm = new GridLayout(columns+2,1,1,1);
setLayout(lm); NumText.addFocusListener(this);
NumText.setColumns(1);
add(NumText); teams = new JRadioButton[columns]; int i;
for (i = 0; i < teams.length ;i++) {
teams[i] = new JRadioButton(Integer.toString(i));
teams[i].addItemListener(this);
group.add(teams[i]);
add(teams[i]);
}
} public void itemStateChanged(ItemEvent e) {
Object source;
source = e.getSource();
for (int j= 0; j<teams.length; j++) {
if(source == teams[j]) {
NumText.setText(teams[j].getText());
}
}
repaint(0);
} public void actionPerformed(ActionEvent e) {
} public void focusGained(FocusEvent e) { } public void focusLost(FocusEvent e) {
Object source;
source = e.getSource();
if (source == NumText) {
l = Integer.parseInt(NumText.getText()); //**
if (l <= 9 ) {
teams[l].setSelected(true);
}
}
} public Insets getInset() {
return new Insets(10,10,0,0);
}
}import javax.swing.*;
import java.awt.*;/**
* Author Fan
* Date: 2003-5-28
* Time: 16:05:56
* Copyright(c) Since 2003 WisdomLeague.
*/
public class ButtonPanel extends JPanel {
JButton Random = new JButton("Random"); public ButtonPanel () {
setSize(300,45);
setLayout(new BorderLayout());
add(Random, BorderLayout.NORTH);
} public Insets getInset() {
return new Insets(10,10,0,0);
}
}
//这个程序可以运行,但是一点JRadioButton就出现很多警告。
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:476)
at SelectNumPanel.focusLost(SelectNumPanel.java:62)
at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:168)
at java.awt.Component.processFocusEvent(Component.java:4999)
at java.awt.Component.processEvent(Component.java:4881)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:734)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:467)
at java.awt.Component.dispatchEventImpl(Component.java:3468)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)用IntelliJ Idea 3.0.4做的,提示得错误好像都是SelectNumPanel中“**”那一行的。
if (source == NumText && !NumText.getText().trim().equals("")) {