Can't fit buttons in code
I want to make working button and fit it in this code i have below. My problem is that anywhere i put actionlisteners or 开发者_Go百科other stuff it always gives me weird errors. I want to make my button b1 to print text when i press it. I would really appreciate help. Im just beginner.
public class Simulator {
public static void main(String[] args) {
boolean suc1,suc2,suc3,suc4,suc5,suc6,suc7;
JFrame f = new JFrame("Simulator");
f.setSize(500, 400);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);
JButton b1 = new JButton("Start");
JButton b2 = new JButton("Clear");
JButton b3 = new JButton("Find");
JButton b4 = new JButton("Stop");
b1.setBounds(20,335,80,25);
b2.setBounds(110,335,80,25);
b3.setBounds(200,335,80,25);
b4.setBounds(395,335,80,25);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
}
}
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class Simulator {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
JFrame f = new JFrame("Simulator");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Unnecessary, just set the preferred size of the
// custom(?) component that renders the simulation,
// use layouts, & pack() the frame when done.
//f.setSize(500, 400);
f.setResizable(false);
// Bad idea. Will cause trouble until fixed.
//f.setLayout(null);
// Play with the numbers for different effects.
// If the edge of the buttons is not supposed to align
// with the 'simulation' panel, borders can be added to
// the elements to create that effect.
JPanel gui = new JPanel(new BorderLayout(5,5));
gui.setBorder( new EmptyBorder(10,30,10,30) );
JPanel simulation = new JPanel();
simulation.setPreferredSize(new Dimension(450,300));
simulation.setBackground(Color.WHITE);
gui.add(simulation, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel( new BorderLayout(50,5) );
gui.add(buttonPanel, BorderLayout.SOUTH);
JPanel westButtons = new JPanel(new GridLayout(1,0,10,10));
JButton b1 = new JButton("Start");
JButton b2 = new JButton("Clear");
JButton b3 = new JButton("Find");
JButton b4 = new JButton("Stop");
westButtons.add(b1);
westButtons.add(b2);
westButtons.add(b3);
buttonPanel.add(westButtons, BorderLayout.WEST);
buttonPanel.add(b4, BorderLayout.EAST);
f.setContentPane(gui);
f.pack();
f.setVisible(true);
}
};
// ensure the UI is built on the EDT.
SwingUtilities.invokeLater(r);
}
}
Try
JButton b1 = new JButton("Start");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button b1 was pressed");
}
});
EDIT:
Seems to work fine for me. Here's the full main() method
public static void main(String[] args) {
boolean suc1,suc2,suc3,suc4,suc5,suc6,suc7;
JFrame f = new JFrame("Simulator");
f.setSize(500, 400);
f.setResizable(false);
f.setLayout(null);
f.setVisible(true);
JButton b1 = new JButton("Start");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button b1 was pressed");
}
});
JButton b2 = new JButton("Clear");
JButton b3 = new JButton("Find");
JButton b4 = new JButton("Stop");
b1.setBounds(20,335,80,25);
b2.setBounds(110,335,80,25);
b3.setBounds(200,335,80,25);
b4.setBounds(395,335,80,25);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(b4);
}
精彩评论