0
所以这是我当前项目的注释中给出的示例。通常我会运行示例代码并使用它来查看一切是如何工作的。但是我不确定如何正确调用示例代码中的函数。使用eclipse的Java中的GUI应用程序
这东西是给我:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Draw extends JPanel implements ActionListener
{
JTextField tfInfo;
JLabel lblColor, lblShapes;
JCheckBox cbRed, cbBlue;
ButtonGroup shapes;
JRadioButton rbCircle, rbSquare;
JButton btnSubmit;
public Draw()
{
setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
tfInfo = new JTextField("Color & Shapes", 15);
lblColor = new JLabel("Colors:");
cbRed = new JCheckBox("Red");
cbBlue = new JCheckBox("Blue");
lblShapes = new JLabel("Shapes:");
shapes = new ButtonGroup();
rbCircle = new JRadioButton("Circle");
rbSquare = new JRadioButton("Square");
btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(this);
add(tfInfo);
add(lblColor);
add(cbRed);
add(cbBlue);
add(lblShapes);
add(rbCircle);
add(rbSquare);
add(btnSubmit);
shapes.add(rbCircle);
shapes.add(rbSquare);
}
public static void main(String [] args)
{
Draw n = new Draw();
n.setVisible(true);
}
public void actionPerformed(ActionEvent a)
{
if(a.getSource() == btnSubmit)
{
if(cbRed.isSelected()&&cbBlue.isSelected())
{
if(rbCircle.isSelected())
{
tfInfo.setText("urple Circle");
}
else if(rbSquare.isSelected())
{
tfInfo.setText("Purple Square");
}
}
else if(cbRed.isSelected())
{
if(rbCircle.isSelected())
{
tfInfo.setText("Red Circle");
}
else if(rbSquare.isSelected())
{
tfInfo.setText("Red Square");
}
}
else if(cbBlue.isSelected())
{
if(rbCircle.isSelected())
{
tfInfo.setText("Blue Circle");
}
}
else if(rbSquare.isSelected())
{
tfInfo.setText("Blue Square");
}
}
}
public class MApp extends JPanel implements MouseListener
{
private boolean clicked;
private Rectangle r;
public MApp()
{
clicked = false;
r = new Rectangle(10, 10, 50, 50);
addMouseListener(this);
}
public void paintComponent(Graphics g)
{
if(clicked)
{
g.setColor(Color.BLUE);
}
else
{
g.setColor(Color.RED);
}
g.fillRect((int)r.getX(), (int)r.getY(),
(int)r.getWidth(), (int)r.getHeight());
}
public void mouseClicked (MouseEvent e)
{
Point p = new Point(e.getX(),e.getY());
if(r.contains(p))
{
clicked = !clicked;
}
repaint();
}
public void mousePressed (MouseEvent evnt) {}
public void mouseReleased (MouseEvent evnt) {}
public void mouseEntered (MouseEvent evnt) {}
public void mouseExited (MouseEvent evnt) {}
}
}
你应该看看[创建一个GUI与JFC/Swing](http://docs.oracle.com。 com/javase/tutorial/uiswing /),[如何使用按钮,复选框和单选按钮](http://docs.oracle.com/javase/tutorial/uiswing/components/button.html),[如何使用按钮,复选框和单选按钮]编写Action Listeners](http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html),[在AWT和Swing中绘制](http://www.oracle.com/technetwork/java /painting-140037.html)和[执行自定义绘画](http://docs.oracle.com/javase/tutorial/uiswing/painting/) – MadProgrammer
Swing(和大多数GUI)的工作方式与基于控制台的程序不同,这是因为它们是事件驱动的,并且有很多正在发生的“黑盒子”代码(比如实际调用'actionPerformed'方法的方式)。事实上,大多数情况下,你并不在乎。你知道你可以在控件上添加一个'ActionListener',比如'JButton',当发生规定的事件时(比如用户点击按钮),它会调用你的'actionPerformed'方法 – MadProgrammer