swing如何使用单选按钮选择Java图形
大家好,我试图在选择单选按钮时显示一个java图像,所以我用这段代码和if语句来识别按钮输入。但我无法让图像出现
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Color;
public class Button1 extends JPanel {
static String sadString = "Sad Joffrey";
static String happyString = "Happy Joffrey";
public Button1() {
JRadioButton sadButton = new JRadioButton(sadString);
sadButton.setMnemonic(KeyEvent.VK_B);
sadButton.setActionCommand(sadString);
sadButton.setSelected(true);
JRadioButton happyButton = new JRadioButton(happyString);
happyButton.setMnemonic(KeyEvent.VK_C);
happyButton.setActionCommand(happyString);
ButtonGroup group = new ButtonGroup();
group.add(sadButton);
group.add(happyButton);
JPanel radioPanel = new JPanel(new GridLayout(0, 1));
radioPanel.add(sadButton);
radioPanel.add(happyButton);
class Draw extends JComponent {
public void paint(Graphics g) {
if (happyButton.isSelected()) {
g.setColor(Color.black);
g.drawRect (10, 10, 200, 200);
g.fillOval (25, 35, 50, 50);
g.fillOval (150, 35, 50, 50);
g.fillArc(75, 100, 100, 75, -200, 200);
}
}
}
add(radioPanel, BorderLayout.LINE_START);
setBorder(BorderFactory.createEmptyBorder(30,30,300,300));
}
public static void createAndShowGUI() {
JFrame frame = new JFrame("Button1");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComponent newContentPane = new Button1();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
frame.pack();
frame.setVisible(true);
JFrame window = new JFrame();
window.getContentPane().add(new Draw());
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
我还没有把悲伤的脸画进去,但上面我想在if语句中显示代码,如果按下按钮,否则,它会显示悲伤的那一个,那么我该如何画出正确的代码呢
共 (0) 个答案