【发布时间】:2014-06-26 01:31:34
【问题描述】:
我正在尝试制作此代码,以便在您每次单击提交时添加或减去显示的初始值。我已经搜索了多个关于如何完成此任务的线程,但我没有遇到任何非常清楚的问题。朝着正确的方向前进真的会有所帮助。
package TwoPanelDesign;
import javax.swing.JFrame;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.JButton;
public class TwoPanelDesign extends JFrame {
private static final long serialVersionUID = 1L;
public TwoPanelDesign() {
getContentPane().setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(0, 0, 151, 262);
getContentPane().add(panel);
panel.setLayout(null);
final JLabel lblYourChoice = new JLabel("Your choice...");
lblYourChoice.setBounds(10, 11, 172, 14);
panel.add(lblYourChoice);
final JRadioButton rdbtnAdd = new JRadioButton("Add 2");
rdbtnAdd.setBounds(10, 32, 109, 23);
panel.add(rdbtnAdd);
final JRadioButton rdbtnMinus = new JRadioButton("Minus 2");
rdbtnMinus.setBounds(10, 58, 109, 23);
panel.add(rdbtnMinus);
ButtonGroup group = new ButtonGroup();
group.add(rdbtnAdd);
group.add(rdbtnMinus);
JPanel panel_1 = new JPanel();
panel_1.setBounds(97, 0, 349, 262);
getContentPane().add(panel_1);
panel_1.setLayout(null);
panel_1.setBackground(Color.BLUE);
final JLabel label = new JLabel("0");
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setBounds(67, 0, 260, 262);
label.setFont(new Font("Arial", Font.BOLD + Font.ITALIC, 45));
panel_1.add(label);
JButton btnSubmit = new JButton("Submit");
btnSubmit.setBounds(10, 88, 88, 23);
panel.add(btnSubmit);
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
if (rdbtnAdd.isSelected())
label.setText("2");
if (rdbtnMinus.isSelected())
label.setText("-2");
}
}
);
}
public static void main(String[] args) {
TwoPanelDesign A = new TwoPanelDesign();
A.setSize(500,400);
A.setVisible(true);
A.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
【问题讨论】:
-
这行得通吗?你有错误吗?
-
对于example。
-
它完全有效,但它以 0 值开始,然后单击其中一个单选按钮;加 2 或减 2 并提交它你不能继续更新值,因为它只是用 2 或 -2 替换 0。我不希望它添加/减去 2,然后能够再次执行它并让它每次更新
-
欢迎来到 Stack Overflow!您应该避免使用
null布局。您无法控制影响在不同平台/操作系统上改变其尺寸的组件的尺寸要求/决定的因素
标签: java swing jframe jradiobutton